C#中<%%><%#%><%=%> 分别代表的含义

1.<%%>

可以执行服务器代码,通俗讲就是可以写像后台一样的代码,例如:

1 <%
2         int a = 2;
3         int b = 3;
4         int c = a + b;
5         Response.Write(c);
6 %>

2.<%=%>
服务端语言的表达式可以为有返回值的方法,但返回值不能太大,注意一定要有返回值它其实也可以看成是一种绑定.例如

aspx.cs代码:

1 public string  DisplayStr()//注意这里必须要有返回值,否则将会发生运行时错误
2 {
3     return "bbbb";
4 }

aspx代码:

1 <label id="label1"><%=DisplayStr()%></label><br />
2 <label id="label2" runat="server"><%=DisplayStr()%></label>

3.<%#%>
这种格式是asp.net下特有的,它是控件数据绑定的语法.只能用在数据绑定控件中.例如

3.1

aspx.cs代码:

1 protected string text;
2 protected void Page_Load(object sender, EventArgs e)
3 {
4       if (!Page.IsPostBack)
5       {
6             this.text = "aaaaaaaaaaaaa";
7             this.TextBox1.DataBind();//或this.DataBind();              
8        }
9 }

aspx代码:

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>

3.2 <%#Eval("数据列")%> 

主要用于绑定需要进行更改的数据列,例如
aspx.cs代码:

如果字段值为0返回男,否则返回女

 1 public object ChangeSex(object obj)
 2         {
 3             if (obj.ToString() == "0")
 4             {
 5                 return "";
 6             }
 7             else 
 8             {
 9                 return "";
10             }
11         }

aspx代码:

把性别字段绑定到这绑定到这个,性别的值可变

1 <%#ChangeSex(Eval("性别"))%>=女

3.3 <%#Bind("数据列")%>

常见于GridView中的不需要进行处理的数据列绑定。
4 <%$%>

表达式的一个常见用途是根据存储在 Web.config 文件中的连接字符串的值设置控件(如 SqlDataSource 控件)的连接字符串属性。例如,您可能具有包含连接字符串属性的以下 SqlDataSource 控件:

1 <asp:SqlDataSource ID="SqlDataSource1" Runat="server" 
2      SelectCommand="SELECT * FROM [Test]"
3      ConnectionString="<%$ ConnectionStrings:TestConnectionString %>">
4  </asp:SqlDataSource>

5. <%@%>
该语法主要是用来导入,最熟悉的场景就是在aspx页的顶部都会有,如下的代码:

<%@Page.......%>

该行代码的意思是定义Asp.NET页分析器和编译器使用的特定于页的属性,只能包含在aspx页中。

原文地址:https://www.cnblogs.com/brooks5006/p/4468246.html