ASP.NET:开始<%%>的'#'是什么意思?

Mad*_* D. 7 asp.net scripting repeater

我已经在asp.net中使用了转发器控件一段时间了......我时不时地忘记在<%#DataBinder.Eval(Container.DataItem,"NAME")%>中添加'#'

所以我想知道它是什么意思?

Joh*_*lan 12

它表示您正在绑定表达式,因此您演示了eval或bind.

数据绑定语法

数据绑定表达式包含在<%#和%>分隔符中,并使用Eval和Bind函数.Eval函数用于定义单向(只读)绑定.Bind函数用于双向(可更新)绑定.除了调用Eval和Bind方法在数据绑定表达式中执行数据绑定之外,还可以调用<%#和%>分隔符中的任何公共范围代码来执行该代码并在页面处理期间返回值.


bal*_*dre 8

只是为了添加......

你还有:

$

让你绑定一个资源,比如:

<%$ Resources:Menu, oktext %>
Run Code Online (Sandbox Code Playgroud)

=

最知名的活页夹标志,让你和Response.Write方法一样

<%= myVariable %> instead <% Response.Write(myvariable) %>
Run Code Online (Sandbox Code Playgroud)


Nic*_*rdi 5

.NET 4.0的新功能

:
Run Code Online (Sandbox Code Playgroud)

就像<%= %>但是HTML编码你的输出.它用作:

<%: Model.Name %>
Run Code Online (Sandbox Code Playgroud)

这就像打电话一样

<%= HttpServerUtility.HtmlEncode(Model.Name) %>  .. or ..
<% Response.Write(HttpServerUtility.HtmlEncode(Model.Name)) %>
Run Code Online (Sandbox Code Playgroud)