1

我有一个具有 modalpopupextender 的按钮,它工作得非常好,完全没有问题,但是在 modalpopup 出现之前,我想验证文本框控件,如果它无效,那么 modalpopup 不应该出现,否则它应该像往常一样工作.. 确实任何有想法的人。

4

2 回答 2

3

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

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

   Page_ClientValidate(group);

   if(!Page_IsValid)
   {
      modal.show();
   }
}
于 2009-09-30T14:07:43.307 回答
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();
}

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

于 2009-09-30T14:07:30.437 回答