今天早些时候才这样做。最简单的方法是__doPostBack
从 javascript 使用:
// Assume myButton is an <asp:Button> (or anything) previously defined
// that has an OnClick event registered in the code behind
var uniqueID = '<%= myButton.UniqueID %>';
var additionalData = '';
__doPostBack(uniqueID, arguments);
Request["__EVENTARGUMENT"]
如果你对这些感兴趣,这些论点就会回来。棘手的事情是使用UniqueID
而不是ClientID
与__doPostBack
. 许多网站告诉您使用ClientID
,这将执行回发,但不会路由到事件处理程序。
编辑
另一种选择是OnClientClick
在按钮上设置一个返回 true/false 的 javascript 函数:
function someJSFunction()
{
return confirm('Are you sure you want to do that?');
}
<asp:Button OnClientClick='return someJSFunction();' OnClick='CodeBehindMethod' />
这样,代码隐藏方法只会在 JS 函数返回 true 时触发。