代码之家  ›  专栏  ›  技术社区  ›  Slauma

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

  •  5
  • Slauma  · 技术社区  · 14 年前

    不小心我发现了 this post 关于ASP.NET 4.0中的新功能:用这些新括号括起来的表达式 <%: Content %> 应呈现为HTML编码。

    我在表单视图中的数据绑定标签中尝试过这样的操作:

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

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

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

    我做错什么了?

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

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

    事先谢谢!

    2 回复  |  直到 10 年前
        1
  •  8
  •   Oded    14 年前

    你很困惑 data binding expressions ,具有语法 <%#%> 和一起使用 Eval (和) Bind )带有响应输出标记( <%=%> <%:%> )不能用于 埃瓦 .

        2
  •  3
  •   Chris L    10 年前

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

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