2012-03-22 9 views
0

私は正しい順序で起こるように一連の処理をしようとしていますが、運はありません。私が持っているのは、検証メッセージを表示するために、asp:ReuiredFieldValidatorsとasp:ValidatorCalloutのフィールドの数です。これは、Save with validation = "true"ボタンでトリガーされます。ValidFieldValidators、ValidatorCallout、およびValidationのModalPopupExtenderを使用して正しい順序で表示してください。

すべてが有効であれば、データを保存する方法について2つの選択肢を求めるモーダルダイアログが表示されます。答えに関わらず、この段階ではsave関数の背後にあるコードを作成する必要があります.AjaxToolkit_ModalPopupExtenderは同じ保存ボタンに接続されています。

何が起こるかは、検証コールアウトとモーダルダイアログが同時に表示されることです。

ヒントを検索しましたが、何も見つかりませんでした。どんな助けにも大変感謝しています!

乾杯 /ヨハン・

答えて

0

ページが有効である場合は、(BtnSave.Click -handlerで)分離コードからModalPopupを表示することができます。

Page.Validate("YourValidationGroup"); 
If(Page.IsValid){ 
    ModalPopup1.Show(); 
} 

そのため、あなたはにModalPopupExtenderTargetControlIDを設定する必要があります隠しボタン:

<asp:Button ID="Hid_ShowDialog" Style="display: none" runat="server" /> 
+0

ありがとうございます!魅力的な作品!すべてのサーバサイドを行うことは、いくつかのクライアントサイド、いくつかのサーバサイドを混在させるのではなく、そのトリックを作りました。 –

0

あなたはコードに移動する必要がありますページはクライアント側で検証されます。ボタンのOnClientClickを使用して行うことができます

<asp:Button ID="ShowDialog" onClientClick = "return ValidatePage();" 
    runat="server" /> 


    <script type="text/javascript"> 

    function ValidatePage() { 

     if (typeof (Page_ClientValidate) == 'function') { 
      Page_ClientValidate(); 
     } 

     if (Page_IsValid) { 
      // do something 
      alert('Page is valid!');     
      return true; 
     } 
     else { 
      // do something else 
      alert('Page is not valid!'); 
      return false; 
     } 
    } 

</script> 
関連する問題