一、主要用于ASP.NET前台绑定用的最多:
- <%#Eval("")%>
- <%#Bind("")%>
- <%=变量%>
1.<%#Eval("数据列")%>主要用于需要进行更改的数据列
如:需要将<%Eval("性别")%>=1;将1转换成女。
首先在.CS文件中定义一个方法:
1 public object ChangeSex(object obj) 2 { 3 if(object.ToString()==0) 4 { 5 return "男"; 6 } 7 else 8 { 9 return "女"; 10 } 11 }
<%#ChangeSex(Eva("性别"))%>=女
可以把这些公共的转换方法全部放到一个公共类文件中,进行调用之,调用方法为:
<%#Common.ChangeSex(Eval("性别"))%>
2.<%#Bind("数据列")%>
常见于GridView中的不需要进行处理的数据列绑定。
3.<%=变量%>
需要在后台.cs文件中声明一个public的变量
public string userInfo= "数据";
直接调用就OK了,但是我们一般不会这样直接写一个定值;就需要这样写了:
public string StrOrders { set { ViewState["Orders"] = value; } get { if (ViewState["Orders"] == null) { ViewState["Orders"] = ""; } return ViewState["Orders"].ToString(); } }
二、ASP.NET中<%%>形式的详细用法总结
1.<%%> 注意:服务器空间中不能包含<%%>的语法,如.aspx页面中可以出现如下代码:
1 <% 2 int a = 2; 3 int b = 3; 4 int c = a + b; 5 Response.Write(c); 6 %>
2.<%#%>在asp.net下特有的,是空间绑定数据的语法,且必须要调用该控件的DataBind()方法才能执行。注意:只有服务器控件才能用<%#%>的语法。aspx.cs代码如下:
1 <div> 2 Server Control:<asp:TextBox runat="server" Text="<%#text%>"></asp:TextBox><br /><!--Server Control--> 3 Client Control:<input type="text" value="<%#text%>" /><!--Client Control--> 4 </div>
1 代码 protected string text;//注意这里必须申明为public或protected,否则aspx页面(子类)无法访问 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 }
3.<%=%>
1 <label ><%=DisplayStr()%></label><br /> 2 <label runat="server"><%=DisplayStr()%></label>
aspx.cs代码:
1 public string DisplayStr()//注意这里必须要有返回值,否则将会发生运行时错误 2 { 3 return "bbbb"; 4 }
4.<%$%>主要用于引用外部资源。
特别注意:1.绑定的只能是服务器控件
2.只能绑定到服务器控件的某个属性上
以下以获取web.config资源来做实例:
1 <asp:TextBox runat="server" ID="cc" Text="<%$ConnectionStrings:pubs%>"></asp:TextBox> 2 web.config文件如下: 3 <connectionStrings><add name="pubs" c providerName="System.Data.SqlClient"/></connectionStrings>
最后强调:
<%#%>只针对的是服务器控件的数据绑定,因此不能同<%=%>和<%%>混合使用
参考:http://www.cnblogs.com/puresoul/archive/2010/08/04/1791837.html
http://www.cnblogs.com/Jack_G/archive/2011/09/01/2162316.html