我想在下面的aspx页面中从服务器控件调用代码隐藏中的MyMethod。
MyPage.aspx
<asp:Label ID="MyLabel" runat="server" Text='<%# MyMethod(Eval("MyColumn")) %>'>
MyPage.aspx.cs
protected void MyMethod(object obj) { ... }
如果我在aspx页面中使用"
而不是'
那么它会给我一个编译错误服务器标签格式不正确。如下所示。
<asp:Label ID="MyLabel" runat="server" Text='<%# MyMethod(Eval("MyColumn")) %>'> // This line work
<asp:Label ID="MyLabel" runat="server" Text="<%# MyMethod(Eval("MyColumn")) %>"> // This line error
我想知道为什么我需要使用单引号,这是规则吗?在我的情况下如何使用双引号?
答案 0 :(得分:6)
我想知道为什么我需要使用单引号,这是规则吗?我怎么能够 在我的情况下使用双引号?
在双引号上使用单引号只是为了清楚字符串结束的位置。你不能使用Text =“MyMethod(”123“)”因为文本以M开头并且可能以(或3或最后一个)结束。通过使用单引号和双引号,编译器知道字符串何时结束。
Text="MyMethod('123')"
Text='MyMethod("123")'
您的示例是关于绑定,但是假设您希望在使用双引号进行非约束情况时使用双引号。您可以使用HTML实体“
Text="This is my string with " inside "" //This will produce : This is my string with "inside"