在asp.net中经常遇到<%@ %>,<%#%>,<!-- -->,<%-- -->,<%$ %>等。
1.<%@ %>主要用于在web页面定义Page、引入控件、组件、设置Cache等。
1: <%@ Page %>
2: <%@ Assembly %>
3: <%@ Import %>
4: <%@ MasterType %>
5: <%@ OutputCache %>
6: <%@ PreviousPageType %>
7: <%@ Reference %>
8: <%@ Register %>
2.<!--注释内容 -->是HTML标准注释 文档会在源文件中注释掉,注释部分不在浏览器中显示。而<%--注释内容 -->是asp.net特有的注释。
3.<%# %>绑定数据,用于绑定控件的datasource常出现在repeater gridview等数据绑定控件中,且必须要调用该控件的DataBind()方法才执行(或者整个页面Page.DataBind()也就是对所得控件都调用DataBind()方法,在这种情况下不管是服务器控件还是客户端控件都会绑定)。经常用在服务器控件中。
前台代码:
1 <div> 2 Server Control:<asp:TextBox ID="TextBox1" runat="server" Text="<%#text%>"></asp:TextBox><br /><!--Server Control--> 3 Client Control:<input type="text" id="textbox2" value="<%#text%>" /><!--Client Control--> 4 </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();
}
}
4.<% %> 这种格式实际上就是和asp的用法一样的,只是asp中里面是vbscript或者javascript代码,而在asp.net中是.net平台下支持的语言。
5.<%=%>这种形式实际上是由<%%>扩展而来的.等价于:Response.Write(<%%>)这种形式(不标准,但能看明白),它其实也可以看成是一种绑定.主要用于在前台输入后台变量.
6.<%$ %> 这种形式主要用于对web.config文件的键值对进行绑定:通常用于连接数据库的字符串