Здравствуйте, james, Вы писали:
J>почему так происходит?
J>как сделать чтоб они не исчезали и прочитать их значения ?
По всей видимости у Вас данные биндятся на форму след. образом:
if (!Page.IsPostBack)
{
//тут вызывается код вставки checkboxes
}
и добавление контрола в GridView вызывается только один раз, при Page.Load
Я бы сделал вот так:
<asp:GridView ID="GridView1" runat="server" OnRowCreated="GridView1_OnRowCreated">
<Columns>
<asp:templatefield >
<itemtemplate>
<asp:CheckBox id="ControlCh" runat="server"/>
</itemtemplate>
</asp:templatefield>
</Columns>
</asp:GridView>
public void GridView1_OnRowCreated(Object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
CheckBox chBox = e.Row.Cells[0].FindControl("ControlCh") as CheckBox;
if (chBox == null) throw new ApplicationException("Control is not find.");
//chBox.Checked = true;
//творим с CheckBox чего хотим
}
}
}
ну и чтение — аналогично.