<%= %> 用作显示 比如在.cs的page_load事件之上定义一个public string role = "admin" 在.aspx的body里就可以写 <%= role %> 就能显示出来 <% %>用作代码块的编写,可直接写.cs代码 在aspx页面body中可写 <%= if(role=="admin") {%>我是管理员<%} else{ %>我是普通用户<%}%> <%# %>用作数据绑定 <%# Eval("role") %> 用在gridview datalist repeater等等数据绑定控件中 此role 代表该列的所有数据
而如果你写<%= GetMM() %>基本上如#36楼所说,是比较直接输出到html流中的。所不同的,是asp.net的代码生成器把它生成到代码所在的控件(如果没有更具体的控件,那么就是整个页面)Render方法要调用的一个委托中。 正如所有的 System.Web.UI.Control(以及其子类)对象都支持DataBind()方法一样,每一个这类对象也支持 SetRenderMethodDelegate(RenderMethod renderMethod) 方法,这个RenderMethod 就是一个委托,在控件执行到生命周期的 Render 过程时调用。而上述代码就被生成为类似这样的方法void container_Render(System.Web.UI.HtmlTextWriter write, System.Web.UI.Control parameterContainer) { writer.Write(GetMM()); }这就会被在Render是调用,并且把GetMM()返回的结果直接插入writer流中。
<%= GetMM() %>
void container_Render(System.Web.UI.HtmlTextWriter write, System.Web.UI.Control parameterContainer) { writer.Write(GetMM()); }这就会被在Render是调用,并且把GetMM()返回的结果直接插入writer流中。
62,050
社区成员
669,050
社区内容
加载中
.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。
希望和大家一起共同营造一个活跃、友好的社区氛围。
试试用AI创作助手写篇文章吧