从codebehind调用javascript方法

Ash*_*sha 1 javascript asp.net

如何从asp.net codebehind pageload调用这个javascript函数..

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

是否可以从asp.net codebehind pageload将整数数组传递给javascript函数?

Spi*_*ode 10

试试以下代码:

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

1.更新>传递字符串参数:

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

带字符串参数的JavaScript方法:

function abc(message) {
    alert(message + ", I am an alert box!");
}
Run Code Online (Sandbox Code Playgroud)

2.更新>将字符串参数和数值数组传递给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);
}
Run Code Online (Sandbox Code Playgroud)

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

function abc(message, numbers) {

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