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.请高手指点下
测试了一下,可以实现的。你的错误应该是,绑定事件没有放在!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");
}
}
}
客户端控件在服务器端不能获取。必须加上runat="server"。
if(checkbox.checked==true)
{
//选中状态
}
else
{
//未选中状态
}
只有这种方式,不加runat="server",后台无法获取。
在服务器中获取客户端的值必须让其变成服务器端控件。
在客户端即可获取客户端控件的值,也可获取服务器端控件的值,说白了说是脚本。