2011-02-17 44 views
3

我試圖在GridView的TemplateField中使用CheckBox來從該GridView中選擇多個條目。 GridView的數據源是在頁面加載時生成的項目列表。ASP.NET中的CheckBox GridView模板字段在提交時不保留它的值

<asp:GridView ID="GridView" runat="server" AutoGenerateColumns="False" 
      AllowPaging="True" onpageindexchanging="TANsGridView_PageIndexChanging" 
      DataKeyNames="GUID"> 
      <Columns> 
       <asp:TemplateField ShowHeader="False" HeaderText="Checker"> 
        <ItemTemplate> 
         <asp:CheckBox ID="SelectCheckbox" runat="server" /> 
        </ItemTemplate> 
       </asp:TemplateField> 

的問題是,當我按下提交按鈕,所有複選框與Checked屬性爲「假」返回。

對於通過行騎自行車,我使用:

foreach (GridViewRow row in TANsGridView.Rows) 
     { 
      CheckBox cb = (CheckBox)row.FindControl("SelectCheckbox"); 
     } 

我應該按順序使用什麼能夠訪問正確的價值?

感謝,Catalin

+1

您是否錯誤地重新綁定了每次頁面加載時的gridview? gridview綁定代碼應該包裝在一個if語句中,以確保它只在不回發時完成。 – 2011-02-17 12:45:49

+0

解決了它。謝謝 – 2011-02-17 12:48:47

回答

6

你是否錯誤地重新綁定網頁上的每次頁面加載? gridview綁定代碼應該包裝在一個if語句中,以確保它只在不回發時完成。

我應該把這裏用於接受檢查嗎? :)

0

如果你正在綁定頁面上的網格load.load像這樣的網格。

if(!ispostback) 
{ 
..........loading data to databind. 

}