在datagrid中加了一个checkbox,但这个checkbox不是绑定的,datagrid其它例是绑定的,而这个checkbox初始化时,是通过程序来设定的。在同一个页面上有一button,当单击时,获取checkbox的值。
但我发现如果初始化在Page.Ispostback中的话,则checkbox全为false,在(!page.ispostback)中的话checked却没有任何更改。
求助。
但我发现如果初始化在Page.Ispostback中的话,则checkbox全为false,在(!page.ispostback)中的话checked却没有任何更改。
求助。
解决方案 »
- 有关QQ微博sig值的计算问题
- 生成三层架构的网站时DEBUG中没有DLL文件
- 求.Net webservices的书
- EXTJS怎么保存查询条件,单击下一页时查询条件就丢失了。
- 有没有用js写的日期时间控件
- 超难!SqlDataSource到底如何删除记录?
- 用 c#进行服务器端编程,请问如何保护代码,能否把代码做成.dll
- .net开发环境的问题
- 请教:自定义的控减编译以后是不是以.dll为扩展名?如果我想看它的源代码该怎么看啊?有VS.NET打开.dll形式的文件怎么什么也看不见啊??
- 在asp.net 中怎样 用 crystal report 生成 word,excel等这些文件然后下载
- 一个很困惑的问题:为什么取不到下拉框的选中值?不是!IsPostBack问题
- ASP.NET中SQL语句用关联的为什么DATASET会提示类型不匹配的错误
你要是把所有代码都写在PAGE_LOAD里面,那我也没办法.
你可以在点击BUTTON后,做个循环来判断是否CHECK.
我的checkbox不是绑定的,是在第一次进入页面时通过程序初始的。
当我的button提交时,我的checkbox的状态无法正确保存(我要提交前的状态信息)。
<asp:TemplateColumn HeaderText="选择">
<HeaderStyle Width="5%"></HeaderStyle>
<ItemStyle HorizontalAlign="Center" VerticalAlign="Middle"></ItemStyle>
<HeaderTemplate>
<FONT face="宋体">选择</FONT>
</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox id="cb_select" runat="server" Width="24px"></asp:CheckBox>
</ItemTemplate>
</asp:TemplateColumn>
后台:
private void Button1_Click(object sender, System.EventArgs e)
{
for(int i = 0; i < this.DataGrid1.Items.Count; i ++)
{
if(((CheckBox)this.DataGrid1.Items[i].FindControl ("cb_select")).Checked ==true)
{
[处理代码]
}
}
}
{
if (strItemID != null)
{
InitPage();
}
}2:private void InitPage()
{
//patrol item and patrol standard
dstItem = deviceClassify.GetItemInfor(strItemID);
dgItem.DataSource = dstItem;
dgItem.DataBind();
int nCount = dstItem.Tables[0].Rows.Count;
//set checkbox
Item item = new Item();
dstTaskItem = item.GetItemID(strDeviceID, strTaskID);
int nTaskItem = dstTaskItem.Tables[0].Rows.Count; if (nTaskItem>nCount || nCount== 0 || nTaskItem==0)
{
return;
} for (int i=0; i<nCount; i++)
{
for (int j=0; j<nTaskItem; j++)
{
if (dstTaskItem.Tables[0].Rows[j]["ITEMS_ID"].ToString() == dstItem.Tables[0].Rows[i]["ITEMS_ID"].ToString())
{
/////////////////////////////////////////////////
CheckBox ckBox;
ckBox = (CheckBox)dgItem.Items[i].FindControl("CheckBox1");
ckBox.Checked = true;
////////////////////////////////////////////////////
break;
}
}
}
}3:button event
private void btSave_Click(object sender, System.EventArgs e)
{
.....
for (int i=0; i<nCount; i++)
{
CheckBox ckBox;
ckBox = (CheckBox)dgItem.Items[i].FindControl("CheckBox1");
bChecked = ckBox.Checked;
}
}
<ItemTemplate>
<asp:CheckBox id="cb_select" runat="server" Width="24px"
Checked='<%# GetStatus(DataBinder.Eval(Container, "DataItem.id").ToString())%>'></asp:CheckBox>
</ItemTemplate>
后台:
protected bool GetStatus(string sender)
{
[处理代码]
}