2009-10-23 4 views
2

Pourquoi ne puis-je pas utiliser les nuggets de code pour définir une propriété de contrôle? Par exemple un groupe de validation d'un bouton ou la propriété text d'un label.Utiliser des nuggets de code pour définir les propriétés des contrôles

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

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

Y at-il un moyen de définir une propriété de contrôles sans utiliser le codebehind?

Répondre

3

Vous pouvez utiliser la liaison de données:

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

à condition que vous appelez DataBind dans le code derrière:

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

hmmm .... c'est en fait une bonne idée, mais cette fois, je pense que je vais rester avec le code derrière tout. :) 10x beaucoup pour votre temps. – TestSubject09

1

<%=SomeVar %> utilise la liaison tardive qui se comporte comme un Response.Write (en Page.PreRender, si je me souviens bien). Par conséquent, il ne sera pas utilisé par les contrôles du serveur comme vous le vouliez. Sauf si vous utilisez code-behind ou inline-code-behind pour effectuer la liaison.

Questions connexes