私はテンプレートフィールドを持つgridviewを持っています。そのテンプレートフィールドにはチェックボックスがあります。私はチェックされたレコードを割り当てるために、グリッドビューの外に送信ボタンを持っています。ポストバックでは、チェックボックスはチェックされていません。ここに私のコードです:GridviewのTemplateFieldのチェックボックスがポストバック時に無効になる
<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
}
}
}
私はブレークポイントを文字列ID = lblID.Textに設定しました。チェックされたものは決して見つけられません。
のAutoPostBackの属性を設定します.asp.net/Learn/data-access/tutorial-52-vb.aspx 私はそれが可能であることを知っています。なぜ私にとってうまくいかないのか分かりません。 – Jhorra
ページのライフサイクルはいつ呼び出されるのかを割り当てる方法ですか? –
解決策をここでチェックしてください。チェックボックスを選択したままにする必要があります。http://highoncoding.com/Articles/697_Persisting_CheckBox_State_While_Paging_in_GridView_Control.aspx – user2323258