2009-10-26 36 views
0

我有一個頁面通過基於用戶操作(單擊鏈接)的ComponentArt回調將不同的控件加載到佔位符中。刪除頁面上不再存在的控件的ASP.NET驗證器

我運行到這樣的情景:

  • 動作1個負載與ASP.NET控件驗證器到佔位符。
  • 動作2加載一個不帶驗證器的控件(第一個控件被替換,不再在頁面上)。
  • 提交頁面會導致javascript錯誤,因爲驗證器JavaScript對象仍在頁面上,但它們驗證的控件不是。

有沒有人遇到過這個問題,或對如何解決它有任何想法?

+0

您是否嘗試在驗證控件上設置Enable = false? – tanathos

+0

嗯,我需要在控件存在時啓用驗證器,但是一旦控件被替換,我沒有一個簡單的方法來實現它 - 但我可能會錯過那裏的某些東西。 –

回答

0

這聽起來像是一個操作2的錯誤...如何刪除原始控件?驗證者是否也應該被顯式移除,或者(是否全是一個控件?)控件被移除的方式不正確。不確定在這種情況下「回調」是什麼意思。這是AJAX代碼?或者是回傳發生?

+0

回叫是ComponentArt提供的第三方控件的名稱。它允許您執行一些服務器端邏輯並將結果呈現給頁面,而無需執行頁面的完整回發。在這種情況下,我們將根據用戶的操作向Callback的內容區域呈現不同的控件。如果發生多個動作,則會刪除第一個控件(覆蓋可能是更好的單詞),但爲其ASP驗證程序生成的JavaScript仍在頁面上。 –

+0

在這種情況下,您最好的選擇可能是將驗證器更改爲處理這種情況的自定義驗證器。 – Bryan