共用方式為


HOW TO:以動態方式將用戶端指令碼加入至 ASP.NET Web 網頁

更新:2007 年 11 月

您可以使用伺服端程式碼將用戶端指令碼加入網頁。當用戶端指令碼的內容,是依照在執行階段才能使用的資訊而定時,在伺服端程式碼中建立用戶端指令碼就很有用。當您想要在下列情形中執行用戶端指令碼時,以動態方式將用戶端指令碼加入網頁也很有用:

以動態方式將用戶端指令碼加入至 ASP.NET Web 網頁

  • 在伺服端程式碼中,呼叫下表中列出的方法之一。

    方法

    說明

    RegisterClientScriptBlock

    將指令碼區塊加入頁面頂端。您可以字串形式建立指令碼,然後將它傳遞給加入網頁的方法。您可以使用這個方法將任何指令碼插入網頁。請注意,在完成所有項目之前指令碼可能就會呈現至網頁。因此您可能無法從指令碼參考網頁上所有的項目。

    RegisterClientScriptInclude

    這個方法類似 RegisterClientScriptBlock 方法,但是會加入參考外部 .js 檔的指令碼區塊。在以動態方式加入任何其他指令碼之前就會加入這個包含檔。因此您可能無法參考網頁上的某些項目。

    RegisterStartupScript

    將指令碼區塊加入當網頁完成載入,但是在引發網頁的 onload 事件之前,就會執行的網頁。這個指令碼通常不會建立為事件處理常式或函式。其通常只包含想要執行一次的陳述式。

    RegisterOnSubmitStatement

    加入執行以回應網頁 onsubmit 事件的指令碼。在送出網頁之前就會執行指令碼,並且讓您有機會取消送出動作。

    下列程式碼範例,示範了如何將用戶端指令碼加入當使用者按一下將網頁回傳至伺服器的按鈕時,就會執行的網頁。用戶端指令碼會顯示快顯視窗要求使用者確認回傳。

    Protected Sub Page_Load(ByVal sender As Object, _
            ByVal e As System.EventArgs)
        Dim scriptText As String
        scriptText = "return confirm('Do you want to submit the page?')"
        ClientScript.RegisterOnSubmitStatement(Me.GetType(), _
            "ConfirmSubmit", scriptText)
    End Sub
    
protected void Page_Load(Object sender, EventArgs e)
{
    String scriptText = 
        "return confirm('Do you want to submit the page?')";
    ClientScript.RegisterOnSubmitStatement(this.GetType(), 
        "ConfirmSubmit", scriptText);
}

請參閱

工作

HOW TO:將用戶端指令碼事件加入至 ASP.NET Web 伺服器控制項

概念

ASP.NET Web 網頁中的用戶端指令碼

在 ASP.NET 網頁中以程式設計方式實作用戶端回呼但不回傳