asp.net中的<%%>形式的详细用法总结

一. <%%>
这种格式实际上就是和asp的用法一样的,只是asp中里面是vbscript或
者javascript代码,而在asp.net中用的是.net平台下支持的语言。特别
注意:服务器控件中不能包含<%%>的语法,否则出错。如下,我们可以
在.aspx页面里出现如下代码:
<pre name="code" class="html"><% 
int a = 2; 
int b = 3; 
int c = a + b; 
Response.Write(c); 
%>

 
 

二. <%#%> 这种格式是asp.net下特有的,它是控件数据绑定的语法,且必须要调用该

控件的DataBind()方法才执行(或者整个页面Page.DataBind()也就是对

所得控件都调用DataBind()方法)特别。

 注意:只有服务器控件才能用<%#%>的语法  aspx.cs代码如下:

 <div>
Server Control:<asp:TextBox runat="server" Text="<%#text%>"></asp:TextBox><br /><!--Server Control-->
 Client Control:<input type="text" value="<%#text%>" /><!--Client Control-->
  </div>

代码 protected string text;//注意这里必须申明为public或protected,否则aspx页面(子类)无法访问
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
this.text = "aaaaaaaaaaaaa";
this.TextBox1.DataBind();//或this.DataBind(); 
}
}

三. <%=%>
这种格式经常用到的。 
 
 
<label ><%=DisplayStr()%></label><br />
<label runat="server"><%=DisplayStr()%></label>

 
  
aspx.cs代码:
public string DisplayStr()//注意这里必须要有返回值,否则将会发生运行时错误
return "bbbb";
}


四.<%$%>
主要用于引用外部资源
特别注意:1.绑定的只能是服务器控件
2.只能绑定到服务器控件的某个属性上。
以下以获取web.config资源来做实例:
<asp:TextBox runat="server" ID="cc" Text="<%$ConnectionStrings:pubs%>">
</asp:TextBox>web.config文件如下: <connectionStrings>
<add name="pubs" c providerName="System.Data.SqlClient"/>
</connectionStrings>


 
 

这样就能正常运行。 如果修改aspx中的文件:使用客户端的控件 <input type="text" value="<%$ConnectionStrings:pubs%>"/> 或者:不绑定到服务器控件的某个属性上 <asp:TextBox runat="server" ID="cc"><%$ConnectionStrings:pubs%></asp:TextBox> 运行都会出现相同的错误: "分析器错误信息:不允许使用类似"<%$ConnectionStrings:pubs%>"类似的文本表达式,请改用…… 最后强调: <%#%>只针对的是服务器控件的数据绑定,因此不能同<%=%>和<%%>混合使用

 

猜你喜欢

转载自blog.csdn.net/zinechina/article/details/38141747