0

我有一個Web服務驗證一些表單數據。該服務是一個ScriptService,我從客戶端調用它。如果驗證失敗,我需要顯示一個模式彈出窗口。如果用戶在模式彈出窗口上單擊「確定」,然後我想回發並保存我的數據。 「取消」應允許他們關閉模式彈出窗口並讓用戶更正數據,允許其重新提交。目前,無論驗證結果如何,每次顯示模式彈出窗口。如何阻止ModalPopupExtender顯示?

我試着調用hide()並返回false,但都沒有工作。

我試圖通過將modalpopupextender的TargetControlID屬性分配給隱藏按鈕,然後在模式彈出框中調用show()(如果驗證失敗)來嘗試解決此問題,但這並未取消回發。 modalpopup顯示約一秒鐘,頁面回傳。

+0

我想幫助我們需要看到頁面代碼。 – 2009-04-23 21:32:42

+0

我同意米切爾,我們需要看代碼 – 2009-04-23 21:48:47

回答

4

所以,你想要做的事,如:

function ValidateInput() { 
    MyScriptService.ValidateInput({however you are passing form data}, OnValidateComplete); 
} 

function OnValidateComplete(response) { 
    if ({response is bad}) { 
     $find('<%= ModalPopupExtender.ClientID %>').show(); 
    } 
} 

然後,您可以讓您的TargetControlID,OnOkScript等都是一樣的。也許有了一些代碼,我們實際上可以看到你在做什麼。