【问题标题】:asp button event inside foundation modal not firing基础模式内的asp按钮事件未触发
【发布时间】:2020-05-28 23:23:31
【问题描述】:

我已尝试为此寻找解决方案,但似乎没有什么对我有用。我的问题很简单(所以,我认为)。

我正在使用带有 asp 网络表单的基础,并且有一个显示模式窗口,该窗口在页面加载时触发。

代码:

$(document).ready(function () { $('#myModal').foundation('reveal', 'open') });

以上工作正常,但是,任何时候我在模式中放置一个 ASP 按钮(我正在使用的那个,btnReset,重定向到一个新页面),点击它不会触发附加到它的事件。

代码:

<div id="reset">
    <div class="large-2 columns">
        <asp:Button ID="btnReset" runat="server" Text="Reset" 
                    OnClick="btnReset_Click" OnClientClick="btnReset_Click"   
                    CssClass="button small radius alert" />
    </div>
</div>

btnReset 的代码:

protected void btnReset_Click(object sender, EventArgs e)
{
     HttpCookie cookie = Request.Cookies["userInfo"];
     cookie.Expires = DateTime.Now.AddDays(-1);
     Response.Cookies.Add(cookie);
     Response.Redirect("LogIn.aspx");
     //Server.Transfer("LogIn.aspx");
}

我确定我在这里遗漏了一些,但我只是对自己做错了什么感到困惑。我怎样才能获得一个 ASP 按钮并让它在模式内时触发它的事件?

【问题讨论】:

  • 将请求的代码添加到 op.
  • 不,我唯一的 javascript 是在页面加载时加载模态,以及一个关闭模态的函数,该函数附加到模态内的另一个按钮(这很好用)
  • OnClientClick 完全删除 - 存在同样的问题。
  • 渲染出来的btn是什么样子的,能不能也加一下

标签: c# asp.net webforms zurb-foundation


【解决方案1】:

我知道这是一个月前提出的,但我遇到了同样的问题,发现这个问题没有解决方案。我在基金会论坛上找到了解决方案,并认为我会在这里回答以供将来参考。

这个问题与基础如何添加您的模式有关。当您查看您的开发工具时,您会看到该模式在调用时位于 外部 表单,这使得 asp 按钮无法访问后面的代码。

这意味着我们需要将模式附加到表单中,以便按钮可以访问后面的代码。

我在javascript中使用appendTo尝试了几种不同的方法来实现这一点,但发现最简单的方法是make基础使用根元素形式。

$(document).foundation('reveal', { rootElement: 'form' });

我在这里找到了:Elena Zhdanova solution

【讨论】:

  • 谢谢。不过,现在语法略有变化。它应该是root_element
  • 为什么这没有被标记为答案?我可能会错过它,因为我只有在遇到问题时才寻找答案。这对我有用。
【解决方案2】:

对于遇到此问题的任何新人,您现在可以将其添加到您的显示模式中,您的网络表单按钮将在模式中按预期工作。

data-append-to="form"

文档是here。这要归功于 Lars Jensen 在帖子底部here 的这个旧论坛帖子@

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-02-26
    • 1970-01-01
    • 1970-01-01
    • 2013-06-27
    • 2016-05-23
    • 2017-02-13
    • 1970-01-01
    相关资源
    最近更新 更多