2011-12-02 28 views
0

我在頁面部分回發時遇到一些問題。我有一些單選按鈕,我正在通過javascript來製作tr display =「」和display =「none」。之後,我添加行gridview。 gridview包含empltyTemplate和footer來添加新行。但是,當我在網格視圖中添加行時,用戶控件將被回發,因此所有tr都變爲displa =「none」,這是頁面加載時的默認值。我試圖在更新面板中保持gridview,但它不工作。我的控制層次如下。單選按鈕在用戶控件回發時沒有保留選擇

Level-1-Master page ---> Level-2-master page ---> Level 3 -aspx page ---> Level 4- user control ---> Level-5 -multiple accordians- - >級別6:每個用戶控制1在每個手風琴..

代碼太長,以至於在這裏..我試圖保持更新面板內用戶控制(級別6),但它不工作。一些谷歌搜索後,我發現更新窗格不起作用,如果它在accrdian內。所以我試圖讓所有Accrdian保持在更新面板中,但是在這種情況下,.aspx頁面不會被重新發布,但放置在accrodian中的所有用戶控件都將被回發,因此選擇被設置爲默認加載。

我希望在最後一級用戶控件回發時保留所有選擇。

情況是相當複雜的理解,但這是事情..如何解決我的問題?

回答

3

通過JavaScript對DOM進行的更改不會保留cross-PostBack;服務器不知道你做了什麼,因此無法跟蹤它。

要解決這個問題,您需要在服務器端使用Callback或Ajax調用來更新狀態(或者可以讓它更新反映標籤狀態的隱藏輸入字段,並讓服務器在那裏查看並相應地更新呈現的HTML。