2011-05-12 95 views
3

我在ASP.NET和C#上有一个小型的工作应用程序,我想向它添加一些Javascript。ASP.NET调用来自JavaScript的C#函数

我知道,例如我可以使用确认按钮,然后在yes或no上做某些事情。

我想要做的是调用我在代码隐藏的一些功能,具体取决于对确认按钮的回答。

我该如何解决这个问题? 非常感谢!

+0

你能更具体吗?解释你**完全**想要什么,目标和要求是什么? – 2011-05-12 21:25:39

+1

看到这个问题:http://stackoverflow.com/questions/3713/call-asp-net-function-from-javascript – 2011-05-12 21:26:36

回答

3

简单。

把你的aspx页面上的一个隐藏的div包含按钮会触发你的方法:

<div style="display: none"> 
    <asp:Button ID="TriggerMethod1" runat="server" /> 
</div> 

在你的JavaScript,在你的代码的确认部分简单地做:

__doPostBack('TriggerMethod1', ''); 

而且在你的代码隐藏,处理该按钮点击调用Method1。

+2

我个人使用jQuery,只需触发点击:'$(“#TriggerMethod1”)。click();'。 – 2011-05-12 21:31:08

+0

谢谢!这就是我一直在寻找的东西。清晰简洁! – NicoTek 2011-05-12 22:30:18

+0

没问题!乐意效劳! – 2011-05-12 22:45:55

1

要调用服务器端方法上,你需要做下面的一个客户端事件:

1-创建服务器端的方法:

void DoSomething(...) { ... } 

2-执行带有一个字符串参数的System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(您可以将名称分配给该参数的值):

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

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

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

4-呼叫需要时回传触发功能:

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