2009-10-15 9 views
10

पर चेक किया गया है मेरे पास टेम्पलेट फ़ील्ड के साथ ग्रिडव्यू है। उस टेम्पलेट फ़ील्ड में एक चेकबॉक्स है। मेरे पास चेक किए गए रिकॉर्ड असाइन करने के लिए ग्रिडव्यू के बाहर एक सबमिट बटन है। पोस्टबैक पर कोई चेकबॉक्स चेक के रूप में पंजीकृत नहीं है। यहां मेरा कोड है:ग्रिडव्यू में टेम्पलेटफिल्ड में चेकबॉक्स पोस्टबैक

<Columns> 
       <asp:TemplateField> 
        <ItemTemplate> 
         <asp:CheckBox ID="cb" Checked="false" runat="server" /> 
         <asp:Label ID="lblCFID" runat="server" Visible="false" Text='<%# Eval("ID") %>' /> 
        </ItemTemplate> 
       </asp:TemplateField> 
       <asp:BoundField HeaderStyle-HorizontalAlign="Center" DataField="Name" HeaderText="Name" /> 
       <asp:BoundField HeaderStyle-HorizontalAlign="Center" DataField="DOB" HeaderText="Date of Birth" /> 
       <asp:BoundField HeaderStyle-HorizontalAlign="Center" HeaderText="Gender" DataField="Gender" /> 
       <asp:BoundField HeaderStyle-HorizontalAlign="Center" HeaderText="Status" DataField="Status" /> 
       <asp:BoundField HeaderStyle-HorizontalAlign="Center" HeaderText="Plan Name" DataField="PlanName" /> 
       <asp:BoundField HeaderStyle-HorizontalAlign="Center" HeaderText="Type" DataField="ControlType" /> 
       <asp:BoundField HeaderStyle-HorizontalAlign="Center" HeaderText="Date of Service" dataformatstring="{0:MMMM d, yyyy}" htmlencode="false" DataField="DateofService" /> 
      </Columns> 

protected void AssignRecords(object sender, EventArgs e) 
{ 
    int Rows = gvASH.Rows.Count; 
    for (int i = 0; i < Rows; i++) 
    { 
     //CheckBoxField cb = ((CheckBoxField)gvASH.Rows[i].Cells[1]).; 
     CheckBox cb = (CheckBox)gvASH.Rows[i].Cells[0].FindControl("cb"); 
     Label lblID = (Label)gvASH.Rows[i].Cells[0].FindControl("lblCFID"); 
     if (cb.Checked == true) 
     { 

      string ID = lblID.Text; 
      //Assign Code 
     } 
    } 
} 

मेरे पास स्ट्रिंग आईडी = lblID.Text पर ब्रेकपॉइंट सेट है; लेकिन यह किसी भी चीज को कभी नहीं मिला है।

+0

मैं सी # का उपयोग कर रहा सेट है, लेकिन VB.Net में asp.net वेबसाइट से इस उदाहरण मूल रूप से वास्तव में क्या कर रहा है कि मैं क्या कर रहा हूँ: http: // www .asp.net/जानें/डेटा-एक्सेस/ट्यूटोरियल -52-vb.aspx तो मुझे पता है कि यह संभव है, मुझे नहीं पता कि यह मेरे लिए क्यों काम नहीं कर रहा है। – Jhorra

+1

पेज लाइफसाइक्ल कहां निर्दिष्ट करने का तरीका है? –

+0

यहां समाधान देखें, आपको चयन चेकबॉक्स जारी रखने की आवश्यकता है http://highoncoding.com/Articles/697_Persisting_CheckBox_State_While_Paging_in_GridView_Control.aspx – user2323258

उत्तर

14

मैं क्या आप याद कर रहे हैं, जब आप बटन पर क्लिक करें और अपने पृष्ठ पोस्टबैक है, तो आप gridview को rebinding, आप की तरह

if (!Page.IsPostBack) 
    { 
     GridView1.DataSourceID = "yourDatasourceID"; 
     GridView1.DataBind(); 
    } 
+0

आप सही हैं, मैंने खोज विधि पर ब्रेक पॉइंट डाला है, और इसे फिर से बुलाया जा रहा है। मुझे यह ट्रैक करना होगा कि इसे कहां से बुलाया जा रहा है। – Jhorra

1

इस हालत में बाध्य करने के लिए एक पोस्टबैक पर, सामग्री की जरूरत है ग्रिड व्यू के पेजबिनिट और पेज_लोड के बीच पोस्टबैक व्यूस्टेट डेटा से फिर से बनाया गया है। शायद यह देखने के लिए पेज_लोड में अपने ग्रिडव्यू की जांच करने का प्रयास करें।

0

चेकबॉक्स

की autopostback विशेषता
AutoPostBack="true" 
संबंधित मुद्दे