代码声明块

[本文档仅供预览,在以后的发行版中可能会发生更改。包含的空白主题用作占位符。]

代码声明块定义嵌入 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 元素。有关更多信息,请参见Script Exploits Overview

<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 Web Page Syntax Overview