1:在.aspx頁面,<% %>标簽相當于在.cs頁面的代碼,也就是說你在.cs檔案裡面怎樣寫,就可以在.aspx檔案裡面的<% %>标簽裡面怎樣寫。
2:在.aspx頁面,<%= %>标簽可以調用你的背景的變量或者方法等,不過被調用的方法必須是public的。
如果你的Default.cs檔案裡面有:
public string str = "調用背景方法!";
public string GetStr()
{
return "調用背景方法!";
}
那麼你的Default.aspx檔案裡面就可以這樣寫:
<asp:Label ID="Label2" runat="server" Text='<%=str%>'></asp:Label>
<asp:Label ID="Label1" runat="server" Text='<%= GetStr() %>'></asp:Label>
3:<%#Eval() %>與<%#Bind() %>,這兩者的使用方法非常相似,目前我隻發現一點差別:
相同點:
1,兩者都是綁定資料源的方法,比如說你想将資料庫中的某個字段綁定到頁面上的某個Label上,就有代碼:
<asp:Label ID="Label1" runat="server" Text='<%#Eval("pSex") %>'></asp:Label>或者
<asp:Label ID="Label1" runat="server" Text='<%#Bind("pSex") %>'></asp:Label>此時兩者的效果是一樣的。
不同點:
1:如果在綁定資料的同時還要調用背景(.cs檔案)的方法,舉個例子,需要綁到頁面上的字段資料太長,是以必須截斷,此時可以調用背景的方法來實作,例子部分代碼:
.cs檔案:
//字元太長将截斷,用“···”代替。
public string Replace(string str)
{
if (str.Length > 20)
{
str = str.Substring(0, 10) + "···";
}
return str;
}
.aspx檔案:
<asp:TextBox ID="TextBox2" runat="server" Text='<%# Replace(Eval("pPassWord").ToString()) %></asp:TextBox>
注意,此時隻能用Eval方法,因為Eval方法調用了.ToString()方法,而Bind卻不能調用此方法。。。