您应该使用按钮的 OnClientClick 属性:
<asp:Button runat="server" OnClientClick="clearBox()" />
RegisterClientScriptBlock
只会在页面上放置一段代码:
<script type="text/javascript">
javascript:clearBox();
</script>
这将不起作用,因为它不是有效代码(因为javascript:
它用于锚点从 href: 运行 js <a href="javascript:some_code_here()"></a>
)
如果您愿意,另一个选择RegisterClientScriptBlock
是使用 addEventListener 将 onclick 处理程序分配给您的按钮。这是代码片段(跨浏览器和纯 JS)。它可以这样使用:
ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "strScript", "addListener('"+button.ClientID+"', 'click', clearBox);", true);
但最好替换RegisterClientScriptBlock
为[RegisterStartupScript](http://msdn.microsoft.com/en-us/library/z9h4dk8y.aspx)
在所有 HTML 加载之前可能会调用第一个并且可能还没有按钮的地方。
Upd
好吧,感谢hvd。他提醒我JS中有标签,实际上javascript:clearBox()
是一个有效的代码,但它不会做OP想要的