【问题标题】:ASP.NET Call C# Functions From JavaScriptASP.NET 从 JavaScript 调用 C# 函数
【发布时间】:2011-05-12 21:22:57
【问题描述】:

我有一个在 ASP.NET 和 C# 上运行的小型应用程序,我想在其中添加一些 Javascript。

我知道,例如,我可以使用确认按钮,然后在是或否时执行某些操作。

我想做的是调用我在代码隐藏中的一些函数,这取决于对确认按钮的回答。

我该怎么做? 非常感谢!

【问题讨论】:

标签: c# javascript asp.net


【解决方案1】:

简单。

在您的 aspx 页面上放置一个隐藏的 div,其中包含您的方法的按钮触发器:

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

在您的 javascript 中,在您的代码的确认部分中,只需执行以下操作:

__doPostBack('TriggerMethod1', '');

然后在您的代码隐藏中,处理该按钮单击以调用 Method1。

【讨论】:

  • 我个人使用 jQuery,只需触发点击:$("#TriggerMethod1").click();
  • 谢谢!这就是我一直在寻找的。简洁明了!
【解决方案2】:

我会创建一个 ASHX 处理程序文件并使用 jQuery ajax methods 发回处理程序。

在此处查看有关此的文章:

Using jQuery in ASP.NET apps with httphandlers

【讨论】:

    【解决方案3】:

    要在客户端事件上调用服务器端方法,您需要执行以下操作:

    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')" .. /> 
    

    【讨论】:

      【解决方案4】:

      【讨论】:

      • 我只是在引导他在他像我们所有人一样询问之前进行搜索。很抱歉,如果这是一个艰难的方式
      猜你喜欢
      • 2010-09-05
      • 2011-04-30
      • 2013-03-23
      • 2012-03-11
      • 2011-11-18
      • 1970-01-01
      • 2017-03-20
      • 1970-01-01
      • 2023-03-28
      相关资源
      最近更新 更多