2012-03-22 78 views
0

我試圖以正確的順序得到一系列的事情,但沒有運氣。我所擁有的是一些使用asp:ReuiredFieldValidators和asp:ValidatorCallout來顯示驗證消息的字段。這是通過一個按鈕Save with validation =「true」觸發的。使用RequiredFieldValidators,ValidatorCallout和ModalPopupExtender進行驗證的顯示順序正確

如果全部驗證,它應該顯示一個模式對話框,詢問如何保存數據的兩個選擇。無論答案如何,在這個階段應該始終繼續保存保存功能.AjaxToolkit_ModalPopupExtender連接到相同的保存按鈕。

會發生什麼情況是同時顯示驗證標註和模態對話框。

搜索提示和幫助,但還沒有找到任何對我有幫助!非常感謝任何幫助!

乾杯 /約翰

回答

0

您可以顯示ModalPopup從代碼隱藏(在BtnSave.Click -handler)頁面是否有效:

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

爲此,您需要將ModalPopupExtenderTargetControlID設爲隱藏按鈕:

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

謝謝!奇蹟般有效!做所有服務器端的伎倆,而不是混合一些客戶端,一些服務器端。 – 2012-03-23 07:33:33

0

您必須移動到Code Behind only whe n頁面在客戶端進行驗證。你可以使用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> 
相關問題