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>

Vedere anche

Concetti

Cenni preliminari sulla sintassi delle pagine Web ASP.NET