ASP.NET 后台 服务器端 有几中方法可以执行或者调用JavaScript?

解决方案 »

  1.   

    RegisterClientScriptBlock 
     向页的顶部添加一个脚本块。以字符串形式创建脚本,然后将其传递给方法,方法再将脚本添加到页中。可以使用此方法将任何脚本插入到页中。请注意,脚本可能在所有元素完成之前呈现到页中;因此,您可能无法从脚本中引用页上的所有元素。
     
    RegisterClientScriptInclude 
     与 RegisterClientScriptBlock 方法类似,但此方法将添加引用外部 .js 文件的脚本块。包含文件在任何其他动态添加的脚本之前添加;因此,您可能无法引用页上的某些元素。
     
    RegisterStartupScript 
     向页中添加一个脚本块,该脚本块在页完成加载后引发页的 onload 事件之前执行。该脚本通常不创建为事件处理程序或函数;它通常只包含要执行一次的语句。
     
    RegisterOnSubmitStatement 
     添加响应页的 onsubmit 事件而执行的脚本。该脚本在提交页之前执行,允许您取消提交。
     
    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);
    }
      

  2.   

    Response.Write("<script type=\"javascript\"></scirpt>");
      

  3.   

    在服务器端cs中没有必要调用js,可以向客户端写js
    因为js是在浏览器中执行得,并不是在cs里执行得
      

  4.   

      Page.ClientScript.RegisterStartupScript(this.GetType(), "alert1", "<script>alert('留言成功!');</script>");
      

  5.   

    还有一种,你可以在需要调用地方放一个Literal控件,然后给它的"Text”属性赋一个js脚本来执行。如:Literal1.Text = "<script type=\"javascript\">alert('haha!');</scirpt>";!!当然你首先应该一定要记得将Literal控件的PostBack属性设成false,不让它保留状态;或手动设成空串,防止下次提交不必要的执行。