Come utilizzare ASP.NET <% = tag negli attributi del controllo server?

Questo funziona:

<span value="" /> 

Questo non funziona:

 <asp:Label Text="" runat="server" /> 

Perché?

Come posso far funzionare correttamente il secondo caso, cioè impostare il testo dell’etichetta sul valore della variabile “Testo”?

Non sei sicuro di come contrassegnarlo come tale, ma questo è un po ‘un duplicato. Vedi questo thread .

Non credo che incorporare codice nel tuo markup renderà il tuo markup più chiaro o più elegante.

Utilizzare le espressioni di associazione dati

  

Codice dietro,

 protected void Page_Load(object sender, EventArgs e){ DataBind(); } 

Puoi farlo

  <%= variable%> 

è in fase di compilazione in fase di runtime e la conversione in tag html. Puoi impostare il testo con codebehind o in questo modo:

  <% Text1.Text = this.Text;%> 

UPD: Sembra che la mia variante non funzioni, questo è meglio:

 protected void Page_Load(object sender,EventArgs e) { Text1.Text = this.Text; } 

Nel mio codice sto usando qualcosa di simile facilmente, ma nel controllo del database come modello di ListView Item

   

Ma quando ho provato a usare al di fuori del controllo del database usando <% # ..%>, semplicemente non funziona.

Puoi facilmente farlo

 My href 

Ma per i controlli del server e al di fuori del controllo del database. È necessario chiamare DataBind () nell’evento pageload in modo esplicito

  

Sarà necessario impostare il valore del controllo server nel codice

Prima di tutto, assegna un ID al controllo etichetta in modo da poter accedere al controllo

  

Quindi, nella tua funzione Page_Load, imposta il valore del campo “Testo” delle etichette

 protected void Page_Load(object sender, EventArgs e) { myLabel.Text = 'Whatever you want the label to display'; } 

Questa funzione sarà nel tuo codice dietro il file, o, se non stai usando il codice dietro il modello, all’interno della tua pagina aspx avrai bisogno

  

In bocca al lupo.