程式碼宣告區塊

程式碼宣告區塊會定義內嵌在 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 指示詞中指定的值。 如果在指示詞中沒有指定語言,預設值為 VB,除非您已在應用程式的 Web.config 檔案中變更預設值。

    注意

    在 ASP.NET 網頁或使用者控制項中只能使用一種語言。如果您在多處指定語言 (這是不必要的),例如在程式碼宣告區塊的開頭標記中和 @ Page 或 @ Control 指示詞中,則指定的語言必須相符。

  • runat
    當值為 runat="server" 時,這個屬性會指定包含在 script 區塊中的程式碼要在伺服器上執行而不是在用戶端。 對於伺服器端程式碼區塊,這個屬性是必要的。

  • src
    指定要載入之外部指令碼檔的路徑和檔名。 使用這個屬性時,宣告區塊中的任何其他程式碼都會被忽略。

備註

程式碼宣告區塊使用 <script> 標記定義,其中包含設定為 server 的 runat 屬性。 <script> 項目可以選擇性地使用 language 屬性,指定其內部程式碼的語言。 如果沒有指定,ASP.NET 會預設為對基底網頁或使用者控制項 (使用 @ Page@ Control 指示詞所控制者) 所設定的語言。 這些伺服器端程式碼區塊可以在一些 ASP.NET 應用程式檔中宣告,包括 Web 網頁、使用者控制項、主版頁面 (Master Page) 和 Global.asax 檔案。 當指定的 ASP.NET 應用程式檔已編譯時,內嵌的程式碼區塊會使用與指定之 ASP.NET 檔案類型關聯的特定物件進行編譯。 例如,當網頁編譯時,任何內嵌的程式碼宣告區塊會使用 Page 類別編譯成為伺服器上單一的 Page 物件。

您也可以使用 <script> 項目,藉由使用 src 屬性指定外部指令碼檔。 當您定義 src 屬性時,在 <script> 項目之開頭和結尾標記之間的所有內容都會被忽略。 在這種情況下,請於開頭標記的尾端使用一個結束斜線。 例如:<script runat="server" src="myFile.cs" />。

範例

下列程式碼範例將示範如何定義 EnterBtn_Click 事件的事件處理邏輯。

安全性注意事項安全性提示

這個範例有一個可接受使用者輸入的文字方塊,這可能會造成安全性威脅。ASP.NET Web 網頁預設會驗證使用者輸入,但不包含當中的指令碼或 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