2009-10-23 37 views
2

爲什麼不能使用代碼塊來設置控件屬性?例如,按鈕的驗證組或標籤的文本屬性。使用代碼塊設置控件屬性

<asp:Button ID="btn" runat="server" Text="test" ValidationGroup='<% =TestValidate %>' 

<asp:Label ID="lbl" runat="server" Text='<% =Test %>' /> 

有沒有什麼辦法可以在不使用代碼隱藏的情況下設置控件屬性?

回答

3

您可以使用數據綁定:

<asp:Label ID="lbl" runat="server" Text='<%# "Hello World" %>' /> 

只要您在後面的代碼調用DataBind

protected void Page_Load(object sender, EventArgs e) 
{ 
    if (!IsPostBack) 
    { 
     DataBind(); 
    } 
} 
+0

嗯......這實際上是一個好主意,但是這次我認爲不適合使用代碼畢竟。:) 10x很多爲您的時間。 – TestSubject09 2009-10-23 09:51:31

1

<%=SomeVar %>使用後期綁定,其行爲類似的Response.Write(在Page.PreRender,如果我沒記錯的話)。因此它不會像你想要的那樣被服務器控件利用。除非使用代碼隱藏或內聯代碼隱藏來執行綁定。