【问题标题】:Open popup with linkbutton使用链接按钮打开弹出窗口
【发布时间】:2023-12-29 18:10:01
【问题描述】:

我正在使用引导模式弹出窗口,而这个 div 是(例如)一个弹出窗口 [使用中继器]

<div id="messageContent">Hello World!</div>

这个弹出窗口可以通过这样做打开(这个工作):

<a href="#messageContent" role="button" class="btn" data-toggle="modal">Open Popup</a>

但我想用&lt;a href=""&gt;&lt;/a&gt; 传递一些DataBinder.Eval-values,这是不可能的,所以这是我用linkbutton 尝试的:

<asp:LinkButton ID="lbOpenMessage" runat="server" CommandName="OpenMessage" CommandArgument='<%#Eval("MessageID")%>'>Open Popup</asp:LinkButton>

但我无法调用链接按钮中的&lt;a href="#messageContent"&gt;&lt;/a&gt; 来打开弹出窗口。

当我做这样的事情时:

<asp:LinkButton ID="lbOpenMessage" runat="server" CommandName="OpenMessage" CommandArgument='<%#Eval("MessageID")%>'>
<a href="#messageContent" role="button" class="btn" data-toggle="modal">Open Popup</a>
</asp:LinkButton>

然后e.Commandname-event 没有被触发,所以我没有得到 MessageID。

我可以用&lt;a href="#messageContent"&gt;&lt;/a&gt; 打开弹出窗口并传递DataBinder.Eval-values?

我做了一些研究,但找不到任何东西。

【问题讨论】:

    标签: c# html asp.net href linkbutton


    【解决方案1】:

    您需要通过 javascript 调用而不是标记快捷方式来显示模式。参考这里http://getbootstrap.com/javascript/#modals

    你要调用的函数是 $('#myModal').modal(options)

    因此,在您的项目命令事件中,您需要以下内容:

    if (e.commandname == "yourcommandname")
    {
        // do your stuff that needs to be done
        ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "key", " $('#myModal').modal(options);", true);
    }
    

    【讨论】: