从aspx调用Javascript函数

时间:2016-11-25 16:20:40

标签: javascript c# asp.net onclick

来自aspx.cs的代码:

.......
button.OnClientClick = "onButtonClick(this)";
.....

Javascript中的函数(用aspx文件编写):

<script> 
        function onButtonClick(event) {
           ....
        }
</script>

&#34;程序&#34;甚至没有进入剧本。

2 个答案:

答案 0 :(得分:1)

你在哪里调用你的按钮.OnClientClick赋值?如果它在页面加载或按钮单击事件中,它应该工作。如果你用ajax方法调用它,按钮可能会在赋值后呈现,所以也许这就是你的问题。

protected void Page_Load(object sender, EventArgs e)
{
    Button1.OnClientClick = "clicky(this)";
}

在.aspx页面上,就在结束标记之前:

<script>
   function clicky(e) {
      alert("click");
   }
</script>

你应该能够看到onclick =&#34; clicky(this)&#34 ;;在运行页面时检查Chrome开发人员工具中的元素。

答案 1 :(得分:0)

当你总是只使用on click方法和普通的html按钮时,用asp按钮调用JavaScript是多余的。

 <button onclick="onButtonClick()">Click me</button> 

但是,您可以通过以下方式完成此操作

Response.write("<script type=""text/javascript"">onButtonClick();</script>")

// OR
ClientScript.RegisterStartupScript(GetType(), "Javascript", "javascript:onButtonClick(); ", true);
// OR 
string name = "onButtonClick()";
        ScriptManager.RegisterClientScriptBlock(this, typeof(string), "Key", name, true);
// OR    
ScriptManager.RegisterStartupScript(this, GetType(), name, false);