2010-03-18 68 views
1

我有一個使用AJAX庫的ASP.NET頁面。在UpdatePanel中有一個下拉列表,它在索引改變時應該更新不同的UpdatePanel來修改一個網格控件。DropDownList總是做整頁回發,第一次觸發

但是在頁面第一次出現後,您調整了ddl,整個頁面回傳,然後是(正確的)部分回發。在這一次之後,ddl的其他用法都能正確執行,並觸發部分回發。

面板和ddl都是從代碼中添加的。 UP是條件更新和ChildrenAsTriggers = true。下拉列表是AutoPostBack true,並在SelectedIndexChanged上設置了一個事件。

那麼發生了什麼事?我嘗試過調整每個我能想到的設置,並且頁面仍然完全刷新一次,然後再正常工作。

+0

我記得更新面板更新其他更新面板在特定情況下導致一些問題,但細節逃避我atm。 – Nate 2010-03-18 21:35:11

回答

0

我相信我已經解決了目前這個問題的困擾,儘管我對結果感到有些沮喪。當以編程方式添加下拉列表時,我沒有給它一個ID,假設ASP.NET只是給它分配一些連續的名稱容器損壞的ID。這似乎是原因。我假設最初的回發是由於ASP.NET嘗試處理缺少正確的ID,分配一個ID,然後將其用於部分回發。

或者它可能是完全不同的根,但簡單的解決方法是:添加一個ID到控件。