如何:向 ASP.NET 网页动态添加客户端脚本

更新:2007 年 11 月

使用服务器代码可以向页中添加客户端脚本。当客户端脚本的内容依赖于直到运行时才可用的信息时,使用服务器代码创建客户端脚本很有用。当您希望客户端脚本在下列情况下执行时,向页动态添加客户端脚本也很有用:

向 ASP.NET 网页动态添加客户端脚本

  • 在服务器代码中,调用下表中列出的一种方法。

    方法

    说明

    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);
}

请参见

任务

如何:向 ASP.NET Web 服务器控件添加客户端脚本事件

概念

ASP.NET 网页中的客户端脚本

在 ASP.NET 网页中不经过回发而以编程方式实现客户端回调