在aspx中,<%:、<%=和<%#有什么区别?

11

同时,https://dev59.com/THVC5IYBdhLWcg3wvT7g - Oded
请仅返回文本内容的翻译:以及https://dev59.com/HnVC5IYBdhLWcg3w21Mq和其他几个。 - Eric King
真遗憾,你不能使用搜索功能来查找<%,即使建议列表中也没有这些内容。你是怎么找到它们的呢? :) 我会将其标记为重复。Cheers! - NibblyPig
请访问与此重复的上面的问题并为其点赞。如果它对您有所帮助,请留下评论。添加评论可能会在您喜欢的搜索引擎结果列表中稍微提升它的排名。 - Joel Etherton
2个回答

18

<%: 是.NET 4.0中的新功能 - 它等价于 HttpUtility.HtmlEncode(Response.Write())

<%= 是较旧的用法,只表示Response.Write()的含义。

<%# 是一个绑定表达式


3
小修正:Response.Write(HttpUtility.HtmlEncode()) - 先编码,再写入,不要反过来 :) - nsimeonov

7
这里有一篇关于它们的好文章:点击链接。简而言之:

页面指令

<%@ Page Language="C#"  %>

渲染代码
<% Response.Write("Hello World!");  %>

<%= SayHello("Ahmed") %>

<%: DateTime.Now.ToString()  %>

表达式语法

<%$ ConnectionStrings:ConnStrFromWebConfig  %>

<%$ AppSettings:ValueFromWebConfig  %>

<%$ Resources:Resource, Arabic  %>

<%$ RouteValue:year  %>

<%$ YourExpressionPrefix : Any   %>

数据绑定语法

<%# Eval("Name")  %>

<%# Bind("Name")  %>

<%# XPath ("Name")  %>

评论服务器

<%-- <asp:Label runat="server" Text="Label"></asp:Label>-- %>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接