永发信息网

asp.net在后台获取选中checkbox的值

答案:4  悬赏:20  手机版
解决时间 2021-02-01 09:18
  • 提问者网友:骑士
  • 2021-01-31 13:58
RepeatLayout="Flow" BackColor="#B7BCE3"
>




这是前台代码,当我点击保存按钮时想得到选中的checkbox的值,我用了这个方式foreach (DataListItem item in SectionDataList.Items)
{
CheckBox checkbox = (CheckBox)item.FindControl("cbSection");
if (checkbox.Checked == true)
{
Response.Write("aaa");
}
}但为什么即使我选中了checkbox,此时checkbox.Checked都等于false.请高手指点下
最佳答案
  • 五星知识达人网友:我住北渡口
  • 2021-01-31 15:01
测试了一下,可以实现的。你的错误应该是,绑定事件没有放在!IspostBack里面,这样按钮点击后,在Page_load又会重新绑定,当然会把你之前选择的清空掉。
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
SectionDataList.DataSource = BLL.personnel.EmployeesBLL.GetAllList();
SectionDataList.DataBind();
}
}
protected void Button1_Click(object sender, EventArgs e)
{
foreach (DataListItem item in SectionDataList.Items)
{
CheckBox checkbox = (CheckBox)item.FindControl("cbSection");
if (checkbox.Checked == true)
{
Response.Write("aaa");
}
}
}
全部回答
  • 1楼网友:夜余生
  • 2021-01-31 18:45
客户端控件在服务器端不能获取。必须加上runat="server"。 if(checkbox.checked==true) { //选中状态 } else { //未选中状态 } 只有这种方式,不加runat="server",后台无法获取。 在服务器中获取客户端的值必须让其变成服务器端控件。 在客户端即可获取客户端控件的值,也可获取服务器端控件的值,说白了说是脚本。
  • 2楼网友:轻雾山林
  • 2021-01-31 17:25
datalist 循环输出控件的 就是说 他找不到是那个控件 你可以看看网页源码,checkbox 的id绝对是一样的
  • 3楼网友:由着我着迷
  • 2021-01-31 16:09
你的按钮很可能引发了回发事件,这样会导致你的checkbox回到初始化状态,所以无论你怎么用默认的是false就会一直是false
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯