Aggiungere e modificare proprietà ed eventi nei tag HTML con ASP.NET

di Andrea Zani, in UserScript, ASP.NET, HTML Server Controls,

Nelle nostre pagine ASP.NET non sono solo i server controls descritti dalla documentazione dell'SDK a poter essere elaborati dal nostro codice server-side.
Qualsiasi tag HTML, una volta aggiunto l'attributo "runat=server" può essere modificato dal nostro codice: questo ci permette di modificare e/o aggiungere attributi e eventi.

Se volessimo modificare il colore della pagina a seconda dell'utente collegato con ASP (ma anche con ASP.NET) possiamo scrivere:

<%
if utente="..." then colore="#555555"
' ...
%>
<body bgcolor="<%=colore%>">

Con ASP.NET ha invece senso utilizzare uno script come il seguente:

<SCRIPT language="vb" runat="server">

Sub page_load(s as object, e as eventargs)
  mybody.Attributes("bgcolor")="#555555"
End sub

</SCRIPT>
<html>
<body id="mybody" runat="server">

Tutto questo impostanto il tag body come un normale server control.
Naturalmente possiamo anche aggiungere eventi, per cui se volessimo impostare un focus su un oggetto (textbox) ci basterà:

<SCRIPT language="vb" runat=server>
Sub Page_Load(s as object, e as eventargs)
   mybody.Attributes.Add("onLoad","document.forms[0].Name2.focus();")
End sub
</SCRIPT>
<html>
 <body id="mybody" runat="server">
 <form id="myForm" runat="server">
 <asp:TextBox id="Name" runat="server" /></br>
 <asp:TextBox id="Name2" runat="server" /></br>
 <asp:TextBox id="Name3" runat="server" /></br>
 <asp:TextBox id="Name4" runat="server" /></br>
 </form>
 </body>
</html>

Infine, possiamo anche modificare o aggiungere il testo in essi contenuto:

<SCRIPT language="vb" runat="server">
Sub Page_Load(s as object, e as eventargs)
  titolo.innertext="Home-page"
End sub
</SCRIPT>
<meta>
 <title id="titolo" runat="server" />
</meta>

impostando come "Home-page" il titolo della pagina.

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

I più letti di oggi