Jquery get属性在visual studio 2012中有警告
本文关键字:2012 警告 studio visual get 属性 Jquery | 更新日期: 2023-09-27 18:04:40
我在aspx.cs页面中有一个属性:
public string UtilizatorLogat
{
get
{
return (!(Session["utilizator"] == null)).ToString().ToLower();
}
}
我得到它在aspx页,在$(document).ready:
utilizatorLogat = <%=UtilizatorLogat%>;
但是visual studio显示:语法错误。
我不能在""
中包含它,因为它是一个布尔值,我不想让它成为一个字符串…
知道为什么会显示这个警告吗?
这是JavaScript解析器的语法错误,它认为<%=UtilizatorLogat%>
是无效的。当混合客户端/服务器代码时,这是一个常见的问题。
你可以解决这个问题的一种方法是引用值,但然后解析或测试它(在JavaScript中)为布尔值。
var utilizatorLogat = /true/i.test("<%=UtilizatorLogat%>");
当页面呈现时,它将是:
var utilizatorLogat = /true/i.test("false");
它看起来很奇怪,但这样可以避免设计器中的语法错误,这些错误也会导致自动格式化的问题。
如果您想在客户端使用它,则需要将其转换为字符串
var utilizatorLogat =<%=UtilizatorLogat.ToString().ToLower()%>;
你也可以使用这个技巧来避免警告:
原始代码: <script type="Text/javascript">
<%If Page.IsPostback Then%>
alert("my javascript code");
<%End If%>
</script>
解决方案:
<script type="Text/javascript">
//<%If Page.IsPostback Then%>
alert("my javascript code");
//<%End If%>
</script>
参考:Visual Studio对javascript中的服务器代码感到困惑
我认为是阿德里亚诺和Phx之间的混合答案(阿德里亚诺不要加引号)我总是用这种方法,而且很有效
var utilizatorLogat ='<%=UtilizatorLogat.ToString().ToLower()%>';