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显示:语法错误

我不能在""中包含它,因为它是一个布尔值,我不想让它成为一个字符串…

知道为什么会显示这个警告吗?

Jquery get属性在visual studio 2012中有警告

这是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()%>';