2011-12-28 49 views
0

我有一個GridView與項目模板中的複選框。我需要做的是檢查條件:Checkbox.checked在gridview上回發

(checkbox.checked==true) 

如果它的真正把行到另一個gridview。我綁定在

if(!PostBack)condition. 

一切的GridView的數據工作正常,直到我的老闆說,他不希望在GridView在如果(!回發)條件的約束,但如果我認爲這個條件了checkbox.checked值總是假的!

+1

請格式化您的問題和代碼。 – abatishchev 2011-12-28 14:49:18

+6

plz不要使用txtspk 4你的任務kthxbai – 2011-12-28 14:49:37

回答

1

從你的問題的細節,我不確定你的老闆是不是希望網格不受約束,或者不希望頁面與網格的ViewState臃腫,但根據我的經驗,通常是後者。然而,如果你的老闆不希望網格綁定在「if(!Postback)」條件下,並且不介意綁定或使用ViewState,那麼你的老闆不理解使用C#和服務器端控制。

但是......要回答你的問題,複選框全部取消選中的原因是因爲你正在應用ViewState後重新綁定網格。 ViewState包含回發條件中所需的所有數據,用於在回發期間設置複選框的狀態,並在OnLoad(或Page_Load)事件之前應用該數據。通過重新綁定網格,您基本上可以清除在ViewState中發佈並應用的所有內容。爲了解決這個問題,關閉網格的ViewState,並在您使用FORM集合重新綁定網格後,自行應用複選框的狀態。

如果您想取消ViewState,這裏有一些在這篇文章中的提示。 http://www.codeproject.com/KB/viewstate/DataGridViewState.aspx