代码声明块

更新:2007 年 11 月

代码声明块定义嵌入 ASP.NET 应用程序文件内使用 runat="server" 属性标记的 <script> 块中的服务器代码节。

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

属性

  • language
    指定用于代码声明块的语言。该值可以表示任何与 .NET Framework 兼容的语言,如 Visual Basic (VB)、C# 或 JScript .NET。如果未指定任何语言,该值默认为 @ Page 或 @ Control 指令中指定的语言。如果在指令中未指定任何语言,除非已在应用程序的 Web.config 文件中更改了默认值,否则默认值为 VB。

    说明:

    在 ASP.NET 页或用户控件中只能使用一种语言。如果在多处指定了语言(这是不必要的),例如在代码声明块的开始标记和 @ Page 或 @ Control 指令中指定了语言,则这些语言必须匹配。

  • runat
    如果该值为 runat="server",则此属性指定 script 块中包含的代码在服务器而不是客户端上运行。此属性对于服务器端代码块是必需的。

  • src
    指定要加载的外部脚本文件的路径和文件名。当使用该属性时,将忽略声明块中的任何其他代码。

备注

代码声明块是使用 <script> 标记(包含设置为 server 的 runat 属性值)定义的。<script> 元素可以选择性地使用 language 属性来指定其内部代码的语言。如果未指定任何语言,ASP.NET 默认使用为基页或用户控件(使用 @ Page@ Control 指令进行控制)配置的语言。这些服务器端代码块可以在许多类型的 ASP.NET 应用程序文件中声明,包括网页、用户控件、母版页和 Global.asax 文件。编译给定的 ASP.NET 应用程序文件时,嵌入的代码块将随与给定的 ASP.NET 文件类型关联的特定对象一起编译。例如,编译页时,任何嵌入的代码声明块将随 Page 类一起编译到服务器上的单个页对象中。

您也可以通过利用 src 属性,使用 <script> 元素来指定外部脚本文件。如果定义了 src 属性,将忽略 <script> 元素的开始标记和结束标记之间的所有内容。在这种情况下,请在开始标记的最后使用结束斜杠。例如:<script runat="server" src="myFile.cs" />。

示例

下面的代码示例演示如何为 EnterBtn_Click 事件定义事件处理逻辑。

安全说明:

本示例包含一个文本框,用于接受用户输入,这是一个潜在的安全威胁。默认情况下,ASP.NET 网页验证用户输入是否不包括脚本或 HTML 元素。有关更多信息,请参见脚本侵入概述

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

请参见

概念

ASP.NET 网页语法概述