来自aspx.cs的代码:
.......
button.OnClientClick = "onButtonClick(this)";
.....
Javascript中的函数(用aspx文件编写):
<script>
function onButtonClick(event) {
....
}
</script>
&#34;程序&#34;甚至没有进入剧本。
答案 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);