ASP.NET中.aspx页面上各种符号的含义

31

我在ASP.NET的.aspx页面中遇到了不同的符号。

<%#eval(expr) %> 
<%#bind(expr) %>
<% %>  - for specifying the c# code in aspx page
<%$ %> - for specifying the SQL connection string in <asp:SqlDataSource>

这些符号背后是否有任何基本逻辑,还是我们必须盲目记住的语法?通常 <% %> 表示什么意思?

2个回答

45

这只是语法。

<% %> 简单地表示 <script runat="server"> </script>,也称为代码呈现块

<%# %>绑定表达式(加上上面的内容)。

<%= %> 是上述内容 + Response.Write()

<%: %> 是上述内容 + 包装在 Html.Encode 中的 Response.Write()(在 .NET 4.0 中新增)。

<%$ %> 是一个ASP.NET 表达式,用于在运行时绑定配置或资源文件数据。


1
谢谢您的回复,您能引用一些关于这个信息的参考资料吗?我已经多次尝试在文档中查找,但没有结果。另外,<%$ %>呢? - pseudocoder
@pseudocoder - 跟着链接走。我不知道 <%$ %> 是什么。 - Oded
我根据您提供的初始链接进行了一些调查,发现<%$ %>被称为ASP.NET表达式,它允许您从配置或资源文件中提取值。 - pseudocoder
<% ... %> 不仅仅是 <script runat=server> 的简写!这些块(<% ... %>)包含的代码将成为 Render() 方法的一部分,而 <script runat=server> 块则包含方法和其他类成员本身。 - thorn0
1
另一个结构是<%--..--%>用于注释块(不会出现在生成的HTML中)。 - Mr Lister
6
我知道这已经是将近五年后的事了,但也许值得将<%#: %>符号添加到您的列表中...它是绑定表达式的HTML编码版本,作为ASP.NET 4.5的一部分而被添加。(原文链接:http://www.asp.net/aspnet/overview/aspnet-and-visual-studio-2012/whats-new#_Toc318097391) - freefaller

2

记住它。这是更加缺乏文档的ASP.net语法,有助于维护来自ASP“经典”时代的不一致性和后果 (叹气)。同时,不要忘记

<%=variablename %>  

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