ajax模式弹出扩展器的问题

时间:2009-09-30 13:59:37

标签: ajax modal-dialog modalpopupextender

我有一个按钮,它有modalpopupextender工作绝对没问题,但是在modalpopup出现之前我想验证文本框控件如果它无效那么modalpopup应该不会出现其他明智的它应该像往常一样工作.. 有没有人有想法。

2 个答案:

答案 0 :(得分:3)

我们使用以下功能。在按钮上单击,您可以调用此功能。这将验证传递给此函数的验证组,并且工作将弹出模态弹出窗口,否则将出现验证错误。

function ClientSideValidate(modalId,group) 
{
   var modal = $find(modalId);

   Page_ClientValidate(group);

   if(!Page_IsValid)
   {
      modal.show();
   }
}

答案 1 :(得分:0)

我过去做过的事情是手动显示/隐藏模态弹出窗口。我意识到ModalPopupExtender控件需要一个目标,所以你需要一个虚拟目标,它将保持不活动状态:

<asp:LinkButton id="btnDummyTarget" runat="server" />
<asp:Button
    id="btnActualButtonTiedToValidation"
    ValidationGroup="SomeValidationGroup"
    OnClick="MyButton_Click"
    runat="server" />

<ajaxToolkit:ModalPopupExtender
    id="mpeMyPopup"
    PopupControlID="pnlSomePanelToShow"
    TargetControlID="btnDummyTarget"
    runat="server" />

然后,在您的代码隐藏中,您可以执行以下操作:

protected void MyButton_Click(object sender, EventArgs e)
{
    if(Page.IsValid)
        mpeMyPopupExtender.Show();
}

这对于删除确认对话框也很方便。