2011-11-06 38 views
0

我建立一個asp.net應用程序,它具有更新pannel內的gridview。Simplemodal關閉時,我在ASP.Net中使用CustomValidator服務器端驗證

在此網格中,我添加了一個命令字段,用於引發服務器事件以填充我的模態彈出式隱藏div部分中的字段,顯示用戶的模式並等待。

用戶正在編輯字段並單擊保存。

鏈接到這些字段我有幾個驗證控件。有些是標準的,也是定製的。

當我的customValidator使用客戶端腳本時,一切都很好;如果一個字段處於無效狀態,則會顯示摘要部分,並且模態仍可見。

但是......(因沒有,但我不會有軟件寫這個問題)

當我的CustomValidator是一個服務器端驗證,即使失敗了,模態窗體關閉,我的保存按鈕甚至被提出。

我使用CustomValidator,因爲驗證需要實時數據庫驗證。

我的問題是:如何使此服務器端驗證保持打開模式彈出如果它返回false(e.isvalid = false)?我嘗試調用:ScriptManager.RegisterStartupScript((Control)sender,sender.GetType(),Guid.NewGuid()。ToString(),「$('#basic-modal -content-province')。modal({appendTo:'form',persist:true});「,true);

,但沒有奏效 - >它說$沒有定義

我用http://www.ericmmartin.com/projects/simplemodal/

我完全陌生的jQuery和AJAX,感謝您的幫助

斯蒂芬

+0

哼哼......我沒想到這是一個很大的問題...... 超過30個讀數,沒有人提供這個問題的想法。 如果你不知道我應該怎麼做才能解決這個問題,你有沒有想過我可以作爲workarround的想法? – Stephane

回答

0

我會在AJAX模式擴展器中使用自定義驗證器,然後在模態檢查中提交數據後,檢查頁面是否有效,如果無效,則使用show() functi上 - 比如用C#:

protected void btnExampleButton_Click(object sender, EventArgs e) 
{ 
    if (Page.IsValid) 
    { 
     //Logic to submit if valid 
    } 
    else 
    { 
     //If there are errors then keep the modal open 
     btnOpenModal_ModalPopupExtender.Show(); 
    } 
} 

以外的是,我不知道有任何其他方式來保持與模式的自定義驗證開放,因爲它沒有後回來。