如何使控件状态持久

BinaryPoet 2003-11-08 04:34:09
我用ASP.Net时使用了一个DataGrid控件,中间加了一个TemplateColumn控件,在它中间加了一个CheckBox控件,但是我如何在点击某个按扭时得到这些CheckBox的状态。我的代码是这么写的:
for (int i=0;i<dtgrdDurg.Items.Count;i++)
{
CheckBox bx = (CheckBox)dtgrdDurg.Items[i].Cells[0].Controls[1];
if (bx.Checked)
{
。。。
}
}
但是我得到的所有的Checked属性均为false;我试用另外一个按扭,点击后发现所有的CheckBox原来勾上的都被清除了。请问这个问题怎么解决?
...全文
47 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
XMatrix 2003-11-16
  • 打赏
  • 举报
回复

有啊! Session , ViewState, Application

各有各的用途,你还想要什么?

ASP.NET本来就是无状态的。
BinaryPoet 2003-11-16
  • 打赏
  • 举报
回复
也就是说,我要自己记录控件的状态,是吗?
那我要用的时候再取出这个Attribute。
难道ASP.NET没有内置的状态持久机制吗?
storm97 2003-11-08
  • 打赏
  • 举报
回复
给你的DataGird的Item_Created事件添加如下代码:
private void DataGrid_ItemCreated(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{

if(e.Item.Cells[CheckBox所在列的索引].Controls.Count>0)
{
CheckBox chk=(CheckBox)e.Item.Cells[CheckBox所在列的索引].Controls[1];
chk.Attributes.Add("onchecked","<script>alert('"+要记录的值+"')</script>");
//要记录的值比如说是本行的某条记录的ID,那你就显得到他,再加到这里
//如 string strID=e.Item.Cells[要得的值所在的列的索引].Text;
}
}
这是个例子,如果要记录,那你把Attributes中那一段Script的脚本改一下,在画面上添加一个hidden,将值存在hidden,用的时候Request就可以了。

110,535

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧