Vediamo adesso un insieme di controlli che hanno delle proprietà ed eventi specifici oltre a quelli ereditati dalla classe base HtmlControl.
HtmlAnchor
Per avere un controllo dinamico degli elementi del tag <a> usiamo questo Control.
<a runat="server"
id="nomeID"
href="linkurl"
name="bookmarkname"
OnServerClick="gestoredellevento"
target="frameoppurewindow"
title="suggerimento" > testo del link </a>
Tutte le proprietà sopra elencate sono accessibili dinamicamente quindi se ad esempio vogliamo generare dinamicamente l'attributo HREF possiamo prima dichiarare un HtmlAnchor control:
<a id="anchor1" runat="server" />
e poi scrivere un event handler che assegna un URL alla proprietà HRef:
void Page_Load(object sender, EventArgs e)
{
anchor1.HRef = "<a href="http://www.unbelsito.com">http://www.unbelsito.com</a>";
}
HtmlImage
Ecco come dichiarare questo Control:
<img
id="MyControl"
src="Img12.jpg"
runat="server"
Height=226
Width=500
Border=5
Align="center"
Alt="Immagine" />
Per ciascuna di queste proprietà è possibile specificare dinamicamente un valore quindi, ad esempio, il valore di src cioè l'immagine stessa, le dimensioni etc.
Vediamo come utilizzando la proprietà Width possibile generare semplici grafici a barre:
<html>
<head>
<script language="C#" runat="server">
void Submit1_Click(Object sender, EventArgs e)
{
pix1.Width= Convert.ToInt32(Dato1.Value);
pix2.Width= Convert.ToInt32(Dato2.Value);
pix3.Width= Convert.ToInt32(Dato3.Value);
}
</script>
</head>
<body>
<h3><font face="Verdana">HtmlImage - Esempio</font></h3>
<form runat=server>
<p> Cambia i valori ed aggiorna il grafico a barre <p>
<table width="600" border="0" cellspacing="4" cellpadding="4">
<tr>
<td width="60">Dato1</td>
<td width="532">
<img runat="server" id="pix1" src="blupix.gif" width="125"
height="20"></td>
</tr>
<tr>
<td width="60">Dato2</td>
<td width="532"><img runat="server" id="pix2" src="blupix.gif"
width="246" height="20"></td>
</tr>
<tr>
<td width="60">Dato3</td>
<td width="532"><img runat="server" id="pix3" src="blupix.gif"
width="68" height="20"></td>
</tr>
</table><p>
Dato1
<input runat="server" type="text" id="Dato1" size="4" maxlength="4"
value="125"> <br>
Dato2
<input runat="server" type="text" id="Dato2" size="4" maxlength="4"
value="246"> <br>
Dato3
<input runat="server" type="text" id="Dato3" size="4" maxlength="4"
value="68"> <br>
<input type="submit" runat="server" Value="Aggiorna Grafico"
OnServerClick="Submit1_Click">
</p>
</form>
</body>
</html>
La riga di comando:
pix1.Width= Convert.ToInt32(Dato1.Value);
imposta il valore della proprietà Width per ciascuna immagine al valore che l'utente ha digitato nel campo Dato1. In questo caso è necessaria una conversione del dato prelevato dal campo Dato1 (che è di tipo string) ad un valore intero.
HtmlInputButton
Questo controllo è usato per creare i tre elementi dei form <input
type="submit">, <input type="reset"> e <input type="button">
Per dichiarare questo control possiamo scrivere:
<input id="Nome" type="submit/reset/button"
runat="server"
/>
Facciamo adesso un esempio con questo elemento per analizzare la possibilità di variare la sua interessante proprietà disabled:
<html>
<head>
<script language="C#" runat="server">
void Submit2_Click(Object sender, EventArgs e)
{
Btn1.Disabled=!Btn1.Disabled;
}
</script>
</head>
<body>
<h3><font face="Verdana">HtmlInputButton - Esempio</font></h3>
<form runat="server">
<p>Usa i bottoni per attivare o disattivare la proprietà Disabled
del Bottone di esempio
<p>
<input id="Btn1" type="submit" runat="server"
Value="Bottone
di esempio" /> <br>
<input id="Btn2"
type="submit"
runat="server"
Value="Attiva/Disattiva il Bottone di Esempio"
OnServerClick="Submit2_Click"
/>
</p>
</form>
</body>
</html>
La riga di comando
Btn1.Disabled=!Btn1.Disabled;
imposta il valore della proprietà Disabled
all'opposto di come era in precedenza.