2010-08-20 47 views
1

我有一個非常奇怪的問題,我們在asp.net網頁(.net 2.0)上動態加載用戶控件。用戶控件有3個下拉列表,其中一個下拉列表中有一個selectedindexchanged事件(其中第三個下拉列表中有一組值)。在選擇更改時動態添加UserControl不會觸發PostBack事件?

奇怪的是,如果在窗體的其他部分當前有任何無效字段(其中字段驗證程序已被激活),那麼當您在第一次更改時選擇下拉問題時,它什麼也不做,但那麼當你再次改變索引時,它完美地工作!我不明白事件怎麼不會爲第一次改變而開火,而是隨後發生的每一次改變。

但是,如果所有這些字段都正確填寫在usercontrol上方,它會正確觸發selectedindexchanged事件。

關於驗證我已禁用所有可能的驗證,以試圖消除它作爲罪魁禍首,所以我不明白如何驗證可以影響用戶控件。

任何幫助,將不勝感激:)

回答

2
  1. 如果您不想驗證的第一個下拉的selectionIndexChange,簡單的附加屬性CauseValidation="false"形式,它不會在selectionIndexChange火表單驗證。

  2. 如果您正在動態添加控件(在運行時),請確保您沒有在if(!IsPostBack)塊中執行此操作,因爲即使在回發中也必須添加控件。這取決於您如何添加控件,但通常這些是處理此類問題時常見的錯誤。

相關問題