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 に答える