【问题标题】:Call a code behind function from javascript in aspx在 aspx 中从 javascript 调用函数背后的代码
【发布时间】:2011-02-13 18:04:53
【问题描述】:

我有一个页面,当用户关闭浏览器选项卡/浏览器窗口时,将触发 javascript。语言是 c# 谢谢。

我正在使用 window.onbeforeunload,类似这样的东西:

<script type="text/javascript">


    window.onbeforeunload = myFunction;


function myFunction()
{
    //call my function here
}

函数后面的代码现在将是一个简单的函数,因此不需要输入参数或返回值。所以我只想知道如何调用我的函数(例如:public void callMyFunction())

【问题讨论】:

  • 我认为您在这里感到困惑... javascript 代码在浏览器(客户端)中运行,而 C# 代码在服务器中运行。您不能从 javascript 调用 C# 代码。最多可以通过 AJAX 调用调用暴露在服务器上的 Web 服务。
  • @axel_c~ 是什么让你觉得不能从javascript调用c#代码?我已经做过很多次了。只需从您的 javascript 中调用 button.click() 并感到惊讶!
  • @Pabuc 触发了一个客户端事件,该事件恰好回发到服务器并执行 C# 代码,而不是直接从 javascript 调用 C# 代码。这是另一回事。
  • 好吧..那你应该说“你不能把C#代码写进javascript函数”。

标签: c# javascript code-behind


【解决方案1】:

有多种机制可以调用您的代码隐藏函数。您可以使用Ajax Call、页面方法、ASP.NET Client Callbacks,甚至可以使用invisible ASP.NET button 触发代码隐藏处理程序。

【讨论】:

    【解决方案2】:

    试试下面的示例代码:

    <html>
    <head>
        <script src="scripts/jquery-1.4.4.min.js" type="text/javascript"></script>
    
        <script type="text/javascript" language="javascript">
            windown.OnUnload(){ function(){ $("#Btn_Click").click();}};
        </script>
    
    </head>
    <body>
    ...
    
     <asp:Button ID="Btn_Click" runat="server" Text="ButtonClick" onClick="Btn_Click" />
    ...
    </body>
    </html>
    

    希望对你有帮助!!!

    【讨论】:

      【解决方案3】:

      通过使用 Ajax,您可以从 javascript 访问方法背后的代码。 试试这个代码。

      <script  type="text/javascript">
           classname.methodname();
          </script>
      

      在页面后面的代码中: 在页面加载中,您需要注册以下代码...

      pageload()
      {
            AjaxPro.Utility.RegisterTypeForAjax(typeof(pagename), this.Page);
      }
      
      
      
      [AjaxPro.AjaxMethod(AjaxPro.HttpSessionStateRequirement.ReadWrite)]
          public void methodname()
          {
          ..........
          ........
          }
      

      这里的类名是页面类名后面的代码

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-02-05
        • 1970-01-01
        • 1970-01-01
        • 2014-05-16
        相关资源
        最近更新 更多