2009-09-30 47 views
1

我有一個按鈕,它有modalpopupextender工作絕對沒問題,但在modalpopup出現之前我想驗證文本框控件,如果它是無效的,那麼modalpopup不應該出現其他明智的,它應該像往常一樣工作.. 有沒有人有想法。ajax模式彈出式擴展器的問題

回答

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(); 
} 

這也是方便刪除確認對話框。

+0

IM已經分配的目標控件ID,和IM也在代碼編寫相同的邏輯背後,但上面 – 2009-10-07 05:59:27

3

我們使用以下函數。點擊按鈕,你可以調用這個功能。這將驗證傳遞給此函數的驗證組,工作將彈出模式彈出窗口,否則會出現驗證錯誤。

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

    Page_ClientValidate(group); 

    if(!Page_IsValid) 
    { 
     modal.show(); 
    } 
} 
+0

提到有了這個代碼模式彈出的情況下仍然得到問題是不來的第一次加載頁面時。 – 2009-10-06 14:00:07

相關問題