从代码后面调用javascript方法

时间:2013-12-06 04:22:08

标签: javascript asp.net

如何从asp.net codebehind pageload 调用此 javascript 函数。

  <script type="text/javascript">
     function abc() {
                 alert("Hello! I am an alert box!");
     }
  </script>

是否可以从asp.net codebehind pageload传递一个整数数组到javascript函数?

4 个答案:

答案 0 :(得分:10)

尝试以下代码:

protected void Page_Load(object sender, EventArgs e)
{
    System.Web.UI.ScriptManager.RegisterStartupScript(this, this.GetType(), "abc", "abc();", true);
}

<强> 1。更新&gt;传递字符串参数:

protected void Page_Load(object sender, EventArgs e)
{
    var message = "hi";
    System.Web.UI.ScriptManager.RegisterStartupScript(this, this.GetType(), "abc", "abc('" + message + "');", true);
}

带字符串参数的JavaScript方法:

function abc(message) {
    alert(message + ", I am an alert box!");
}

<强> 2。更新&gt;将字符串参数和数字数组传递给JS方法:

protected void Page_Load(object sender, EventArgs e)
{
    int[] numbers = { 10, 20, 30 };

    string serializedNumbers = (new JavaScriptSerializer()).Serialize(numbers);

    var message = "hi";
    System.Web.UI.ScriptManager.RegisterStartupScript(this, this.GetType(), "abc", "abc('" + message + "', " + serializedNumbers + ");", true);
}

包含字符串和数字数组参数的JavaScript方法:

function abc(message, numbers) {

    alert(message + ", I am an alert box!");
    for (var i = 0; i < numbers.length; i++) {
        alert(numbers[i]);
    }
}

答案 1 :(得分:1)

常规页面

protected void Page_Load(object sender, EventArgs e) 
{
   ClientScript.RegisterStartupScript(GetType(), "abc" + UniqueID, "abc();", true);
}

Ajax Page

如果使用ajax,则需要使用ScriptManager。

protected void Page_Load(object sender, EventArgs e) 
{
   ScriptManager.RegisterStartupScript(this, GetType(), 
     "abc" + UniqueID, "abc();", true);
}

答案 2 :(得分:0)

尝试

    Dim script As String = String.Format("abc()", "")
    ScriptManager.RegisterClientScriptBlock(Me, GetType(Page), UniqueID, script, True)

或者只是

ClientScript.RegisterStartupScript(GetType(), "abc", "alert('Hello! I am an alert box!')", true);

答案 3 :(得分:0)

您无法从代码隐藏中调用JavaScript函数,但您可以返回一个响应,其中包含在浏览器中加载页面时调用该函数的JavaScript。只需确保您的信息页包含

即可
<script type="text/javascript">
    function abc() {
        alert("Hello! I am an alert box!");
    }
    abc();
</script>

这可以作为ASPX页面的一部分,也可以将其注册为代码隐藏中的脚本块。