<;%:%&燃气轮机;ASP.NET 4.0中HTML编码的括号

<;%:%&燃气轮机;ASP.NET 4.0中HTML编码的括号,asp.net,webforms,.net-4.0,html-encode,Asp.net,Webforms,.net 4.0,Html Encode,我无意中发现了ASP.NET 4.0中的一个新特性:括在这些新括号中的表达式应以HTML编码的形式呈现 我在FormView中的数据绑定标签中尝试过这样做: <asp:Label ID="MyLabel" runat="server" Text='<%: Eval("MyTextProperty") %>' /> 但它不起作用:text属性包含脚本标记(用于测试),但输出为空。使用传统的工作方式: <asp:Label ID="MyLabel" runat="

我无意中发现了ASP.NET 4.0中的一个新特性:括在这些新括号中的表达式应以HTML编码的形式呈现

我在FormView中的数据绑定标签中尝试过这样做:

<asp:Label ID="MyLabel" runat="server" Text='<%: Eval("MyTextProperty") %>' />

但它不起作用:text属性包含脚本标记(用于测试),但输出为空。使用传统的工作方式:

<asp:Label ID="MyLabel" runat="server"
    Text='<%# HttpUtility.HtmlEncode(Eval("MyTextProperty")) %>' />

我做错了什么

(旁注:我太笨了,找不到任何信息:谷歌拒绝搜索那东西。MSDN上的VS2010在线帮助提供了很多点击率,但与我的搜索无关。Stackoverflow搜索也是。我不知道这些“东西”(我指的是括号)是如何被正式命名为更好的搜索词的。)

欢迎提供任何信息、附加链接和资源

提前谢谢

您很困惑,它的语法是
,与
Eval
(和
Bind
)一起使用,而响应输出标记(
)不能与
Eval

一起使用
HTML编码数据绑定语法。(注意“#”后面的“:”。例如:

Text='<%#: Eval("PropertyToEval") %>'
Text=''

Sanity check 1:当您对呈现的页面执行“查看源代码”时,是否看到该标记?(你不应该)健康检查2:你的网站真的在使用asp.NET4.0吗?此功能在2.0中不起作用。“是”和“是”。我认为,Oded是对的:当我在FormView之外使用括号而不使用Eval时,它会工作。