Bloques de declaraciones de código

Los bloques de declaraciones de código definen secciones de código de servidor incrustadas en archivos de aplicación ASP.NET dentro de bloques de script marcados con un atributo runat="server".

<script runat="server" language="codelanguage" Src="pathname">
   Code goes here...
</script>

Atributos

  • language
    Especifica el lenguaje utilizado en el bloque de declaraciones de código. Este valor puede representar cualquier lenguaje compatible con .NET Framework, como Visual Basic (VB), C# o JScript .NET. Si no se especifica ningún lenguaje, se adopta como valor predeterminado el lenguaje especificado en la directiva @ Page o @ Control. Si no se especifica ningún lenguaje en la directiva, el valor predeterminado será VB a menos que se haya cambiado el valor predeterminado en el archivo Web.config de la aplicación.

    Nota

    Sólo se puede utilizar un lenguaje en un control de usuario o una página ASP.NET. Si se especifica el lenguaje en varias ubicaciones (lo cual no es necesario), como la etiqueta de apertura de un bloque de declaraciones de código y la directiva @ Page o @ Control, los lenguajes deben coincidir.

  • runat
    Cuando su valor es runat="server", este atributo especifica que el código incluido en el bloque script se ejecuta en el servidor y no en el cliente. Este atributo es necesario para los bloques de código de servidor.
  • src
    Especifica la ruta de acceso y el nombre de un archivo de secuencias de comandos externo que se va a cargar. Al utilizar este atributo, se pasa por alto el código restante del bloque de declaración.

Comentarios

Los bloques de declaraciones de código se definen utilizando etiquetas script con el valor del atributo runat establecido en server. El elemento script puede utilizar de manera opcional un atributo language para especificar el lenguaje de su código interno. Si no se especifica ningún lenguaje, ASP.NET adopta como valor predeterminado el lenguaje configurado para la página o el control de usuario base (que se controla mediante las directivas @ Page y @ Control). Estos bloques de código de servidor pueden declararse en varios archivos de aplicación ASP.NET, incluidos controles de usuario, páginas Web, páginas principales y archivos Global.asax. Cuando se compila un archivo de aplicación ASP.NET dado, el bloque de código incrustado se compila con el objeto asociado al tipo de archivo ASP.NET dado. Por ejemplo, cuando se compila una página, se compilan los bloques de declaraciones de código incrustados junto con la clase Page en un solo objeto de página del servidor.

También se puede utilizar el elemento script para especificar un archivo de secuencias de comandos externo mediante el atributo src. Cuando se define el atributo src, se omite todo el contenido incluido entre las etiquetas de apertura y cierre del elemento script. En este caso, utilice una barra diagonal de cierre (/) al final de la etiqueta de apertura. Por ejemplo: <script runat="server" src="myFile.cs" />.

Ejemplo

En el siguiente ejemplo de código se muestra cómo definir la lógica de control de eventos para el evento EnterBtn_Click.

<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>

Vea también

Conceptos

Información general sobre sintaxis de páginas Web ASP.NET