【问题标题】:execute C# event handler and after that js function执行 C# 事件处理程序,然后执行 js 函数
【发布时间】:2013-09-24 08:21:40
【问题描述】:

我有按钮:

html:

 <asp:Button ID="MyBut" runat="server" OnClick="MyBut_Click" CssClass="MyBut" />

C#:

 protected void MyBut_Click(object sender, EventArgs e)
        {....}

JS:

$(document).ready(function () {
    $(".MyBut").click(function () { alert("!"); });
})

现在先执行js函数,然后执行C#方法。 C#方法可以先行吗?

【问题讨论】:

    标签: c# javascript onclick onclientclick


    【解决方案1】:

    不是真的。 C# 方法在代码隐藏中调用(您使用的是 ASP.NET),只有在服务器执行后端代码以形成更新页面时重新加载页面时才会调用该方法。

    您可以做的是让服务器端代码(C# 代码)生成客户端 JavaScript,然后在用户浏览器中重新加载页面时执行这些 JavaScript。当然,该代码将在服务器端 C# 代码之后执行。示例见Inject Javascript from asp.net code behind files

    另一种选择是使用 AJAX 调用服务器端代码(而不是代码隐藏)。然后你可以自己确定顺序。有关 AJAX 与 ASP.NET 的更多信息,请参阅http://www.asp.net/ajax

    【讨论】:

    • MyBut_Click 执行后如何更改 div innerHtml(我认为我需要 js)?
    • 见我回答的第二段。
    【解决方案2】:

    所以有人点击页面上的按钮,JS先触发然后C#?这是唯一可能的事件序列。页面上的 JS 处理 HTML 按钮的点击,将事件触发到 Web 服务器,然后 C# 在 Web 服务器上运行。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-27
      • 2013-06-09
      • 2011-12-12
      • 2014-03-14
      • 2019-10-24
      • 2015-04-29
      相关资源
      最近更新 更多