asp - asp.net - aspcode.it

COMMUNITY - Login
 Username:
 
 Password:
 
Voglio registrarmi!
Password dimenticata?
 Utenti on-line: 0
 Ospiti on-line: 5858
ASPCode.it - Store

  > > Articoli

Accesso sul server ai tag Html con la classe HtmlGenericControl

Data di pubblicazione: 23/06/2003        Voto della community: 0,00 (Votanti: 0)


Come è noto, accanto ai più evoluti Web Control, ASP.NET prevede gli HTMLServerControl che consentono di accedere lato server ai corrispondenti tag html. Per rendere disponibile un tag html lato server è sufficiente assegnare un ID univoco e aggiungere l'attributo runat="server", ad esempio:

<form runat="server">

  <select id="miaselect" runat="server">
      <option>...</option>
      <option>...</option>
      .......
      .......
  </select>

</form>

Naturalmente solo per alcuni tag html è prevista una classe specifica (ad esempio HTMLSelectControl, HTMLAnchorControl, etc); quelli non mappati in una classe specifica (ad esempio il tag <body>, <span>, etc.) rientrano nella più generica classe HTMLGenericControl, che prevede una serie di funzionalità. Vediamo quelle più importanti:

- la proprietà InnerHtml (ereditata dalla classe HtmlContainerClass, che definisce metodi e proprietà comuni a tutti i tag che richiedono obbligatoriamente il corrispondente tag di chiusura) consente di accedere al testo compreso fra i tag di apertura e chiusura dell'HtmlServerControl

- la proprietà InnerText è simile a InnerHtml eccetto che il testo viene html encoded per consentire di visualizzare correttamente eventuali caratteri speciali (ad esempio il carattere > viene inviato al browser come &gt;)

- la proprietà Attributes["nomeattributo"] (ereditata da HtmlControl) consente di impostare determinati attributi per il tag, ad esempio id_tag_body.Attributes["bgcolor"]="white".

Il codice di seguito crea, ad esempio, due HTMLGenericControl  - dai tag <body> e <span> - quindi imposta l'attributo bgcolor del tag <body> in base al colore selezionato e modifica corrispondentemente il testo contenuto nel tag <span> (in grassetto le parti salienti del codice):

<%@ Page Language="C#" %>
<script runat="server">

    void Click_Su_Button1 (object Source, EventArgs e) {
   
        bodypagina.Attributes["bgcolor"] = Colore.Value;
   
        miospan.InnerHtml="<b>Colore di sfondo applicato:" + Colore.Value + "</b>";
   
    }

</script>
<html>
<head>
</head>
<body id="bodypagina" runat="server">

    <span id="miospan" runat="server"><b>Background di default</b></span>
   
    <form runat="server">

        <select id="Colore" runat="server">
            <option selected>Green</option>
            <option>Yellow</option>
            <option>Blue</option>
        </select>
        <asp:Button id="Button1" onclick="Click_Su_Button1" runat="server" Text="applica"></asp:Button>

    </form>
</body>
</html>




Utenti connessi: 5858