我正在使用模态弹出窗口来显示登录框。模态弹出窗口位于母版页中,并与其中的LogIn链接相关联。现在我想使用不同的链接按钮在子页面中调用相同的模式弹出窗口。模式弹出窗口可以通过母版页的LogIn链接调用,但是我想在子页面中添加第二个控件(linkButton),可以调用母版页的模式页面。
我在子页面中尝试了这个:
function LogIn2()
{
$find("programmaticModalPopupBehavior").show();
}
<asp:LinkButton ID="LinkButton1" runat="server" OnClientClick="LogIn2">Log in</asp:LinkButton>
参考:multiple TargetControls for the ModalPopup
如何从子页面中的控件调用母版页的功能模式弹出窗口?
更新
这是在主页:
<ajax:ModalPopupExtender ID="ModalPopupExtender1" runat="server" TargetControlID="linkLog" CancelControlID="linkClose" BackgroundCssClass="cssModal" PopupControlID="panelPopUp" BehaviorID="programmaticModalPopupBehavior" PopupDragHandleControlID="panelDrag"></ajax:ModalPopupExtender>
答案 0 :(得分:0)
我不确定这一点,但让我确认你是否正在使用如下所示的ajax控件
<asp:ModalPopupExtender ID="ImageUploaderEx" runat="server" BehaviorID="ImageUploaderBID" TargetControlID="Link Name" CancelControlID="Cancel" PopupControlID="Panel to be open" OnCancelScript="hideUploader()"></asp:ModalPopupExtender>
如果是,那么你可以使用不同名称的相同模态,如果这不起作用,请告诉我,我会尽我所能
尝试此操作
((ModalPopupExtender)Page.Master.FindControl("ModalPopupExtender1")).Show();
并添加此内容
using AjaxControlToolkit;
答案 1 :(得分:0)
为LinkButton添加OnClientClick,如下所示:
<asp:LinkButton ID="LinkButton1" runat="server" Text="Login 2" OnClientClick="return LogIn2()" ...>
将JavaScript函数放在母版页中,在显示弹出窗口后,让方法返回false以防止LinkButton进行回发:
function LogIn2()
{
$find("<%=ModalPopupExtender1.UniqueID%>").show();
return false;
}
作为替代方案,您可以在执行LogIn2函数之后将返回false添加到LinkButton的OnClientClick,如下所示:
<asp:LinkButton ID="LinkButton1" runat="server" Text="Login 2" OnClientClick="LogIn2();return false;" ...>