如何从JavaScript触发服务器端事件?

5
我该如何在客户端JavaScript中触发服务器控件事件?

1
你能举个例子说明你的意思吗? - Jason D
2个回答

6
要在客户端事件中调用服务器端方法,您需要执行以下操作:
1.创建服务器端方法:
void DoSomething(...) { ... }

2- 实现 System.Web.UI.IPostBackEventHandler.RaisePostBackEvent 方法,该方法需要一个字符串参数(你可以将此参数的值赋为名称)。

public void RaisePostBackEvent(string eventArgument) 
{
        DoSomething(...);
}

3- 编写一个脚本来触发回发:

function TriggerPostBack(control, arg){
    __doPostBack(control, arg);
}

4- 当需要时调用PostBack触发器函数:

<a .... onclick="TriggerPostBack('control', 'arg')" .. /> 

0
你也可以使用以下的方式:
<a id="myLink" href="#" 
    onclick="document.getElementById('<%=ServerControl.ClientID%>').Event(); 
    return false;">OK</a>

这是一个非常丑陋的黑客方式 ;) 你把按钮放在哪里了?你的另一个答案更好。 - Caspar Kleijne

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接