ASP.NET 4.0中HTML编码的<%:%>括号

Sla*_*uma 5 asp.net webforms html-encode .net-4.0

我偶然发现这篇文章是关于ASP.NET 4.0中的一个新功能:这些新括号中的表达式<%: Content %>应该呈现为HTML编码.

我在FormView中的数据绑定标签中尝试过这样,如下所示:

<asp:Label ID="MyLabel" runat="server" Text='<%: Eval("MyTextProperty") %>' />
Run Code Online (Sandbox Code Playgroud)

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

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

我究竟做错了什么?

(旁注:我太愚蠢了,找不到任何信息:谷歌拒绝搜索那个东西.MSDN上的VS2010在线帮助提供了很多点击,但没有任何与我的搜索有关.Dackoverflow搜索也是.而且我没有知道这些"事物"(我的意思是括号)是如何被正式称为具有更好的搜索词.)

欢迎任何信息和其他链接和资源!

提前致谢!

Ode*_*ded 8

您会混淆数据绑定表达式,它具有语法<%#%>并与Eval(和Bind)一起使用,不能与响应输出标记(<%=%><%:%>)一起使用Eval.