Blocchi di dichiarazione del codice
Aggiornamento: novembre 2007
I blocchi di dichiarazione del codice definiscono le sezioni del codice lato server incorporate nei file di applicazione ASP.NET all'interno dei blocchi <script> contrassegnati con l'attributo runat="server".
<script runat="server" language="codelanguage" Src="pathname">
Code goes here.
</script>
Attributi
language
Specifica il linguaggio utilizzato in questo blocco di dichiarazione del codice. Questo valore può rappresentare qualsiasi linguaggio compatibile con .NET Framework, come Visual Basic (VB), C# o Jscript .NET. Se non è specificato alcun linguaggio, viene automaticamente impostato il valore specificato nella direttiva @ Page o @ Control. Se nella direttiva non viene specificato alcun linguaggio, l'impostazione predefinita sarà VB, a meno che il valore predefinito non sia stato modificato nel file Web.config dell'applicazione.Nota
In una pagina o un controllo utente ASP.NET è possibile utilizzare solo un linguaggio. Se, pur non essendo necessario, si specifica il linguaggio in più punti, ad esempio nel tag di apertura di un blocco di dichiarazione di codice e nella direttiva @ Page o @ Control, è necessario che i valori immessi corrispondano.
runat
Quando il valore è runat="server", questo attributo specifica che il codice contenuto nel blocco script è eseguibile nel server e non nel client. Questo attributo è obbligatorio per i blocchi di codice lato server.src
Specifica il nome file e il percorso di un file script esterno da caricare. Quando si utilizza questo attributo, viene ignorato qualsiasi altro codice nel blocco di dichiarazione.
Note
I blocchi di dichiarazione del codice vengono definiti mediante i tag <script> che contengono un valore di attributo runat impostato su server. Nell'elemento <script> si può scegliere di utilizzare un attributo language per specificare il linguaggio del codice interno. Se non è specificato alcun valore, l'impostazione predefinita di ASP.NET sarà il linguaggio configurato per la pagina base o per il controllo utente (gestito utilizzando le direttive @ Page e @ Control). Questi blocchi di codice lato server possono essere dichiarati all'interno di una serie di file di applicazione ASP.NET che comprendono pagine Web, controlli utente, pagine master e file Global.asax. Quando viene compilato un determinato file di applicazione ASP.NET, il blocco di codice incorporato viene compilato con l'oggetto specifico associato a quel determinato tipo di file ASP.NET. Quando, ad esempio, viene compilata una pagina, tutti i blocchi di dichiarazione del codice incorporato vengono compilati insieme alla classe Page in un singolo oggetto di pagina nel server.
È possibile inoltre utilizzare l'elemento <script> per specificare un file script esterno utilizzando l'attributo src. Quando si definisce l'attributo src, tutto il contenuto compreso tra i tag di apertura e chiusura dell'elemento <script> viene ignorato. In questo caso, utilizzare una barra di chiusura alla fine del tag di apertura. Ad esempio: <script runat="server" src="myFile.cs" />.
Esempio
Nell'esempio di codice riportato di seguito viene illustrato come definire una logica di gestione eventi per l'evento EnterBtn_Click.
Nota sulla sicurezza: |
---|
L'esempio include una casella di testo che accetta l'input dell'utente e rappresenta quindi una potenziale minaccia alla sicurezza. Per impostazione predefinita, le pagine Web ASP.NET verificano che l'input dell'utente non includa script o elementi HTML. Per ulteriori informazioni, vedere Cenni preliminari sugli attacchi tramite script. |
<html>
<script language="C#" runat="server">
void EnterBtn_Click(Object Src, EventArgs E) {
Message.Text = "Hi " + Name.Text + ", welcome to ASP.NET!";
}
</script>
<body>
<form runat="server">
Enter your name: <asp:textbox id="Name" runat=server/>
<asp:button text="Enter" Onclick="EnterBtn_Click" runat="server"/>
<p>
<asp:label id="Message" runat=server/>
</form>
</body>
</html>
<html>
<script language="VB" runat="server">
Sub EnterBtn_Click(Src As Object, e As EventArgs)
Message.Text = "Hi " & Name.Text & ", welcome to ASP.NET!"
End Sub
</script>
<body>
<form runat="server">
Enter your name: <asp:textbox id="Name" runat=server/>
<asp:button text="Enter" Onclick="EnterBtn_Click"
runat="server"/>
<p>
<asp:label id="Message" runat=server/>
</form>
</body>
</html>