怎么获取repeater内的CheckBox选中的行的值

我在前台repeater(rpInfo)的一列里绑定了ID,加了CheckBox(ckbselectID)控件,我要怎么把我选中的行的ID取出来?下面是我的代码,要把id... 我在前台repeater(rpInfo)的一列里绑定了ID,加了CheckBox(ckbselectID)控件,我要怎么把我选中的行的ID取出来?下面是我的代码,要把id取出来放session里,接下来要怎么写?还是我的逻辑有问题?
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindData();
Session.Remove("sess");
}
}
#region 绑定数据源
/// <summary>
/// 绑定repeater的数据源
/// </summary>
private void BindData()
{
string sql = "select * from FWD_CmInfo";
rpInfo.DataSource = DbHelperSQL.Query(sql).Tables[0];
rpInfo.DataBind();
}
#endregion
#region
private void GetSession()
{
foreach (RepeaterItem item in rpInfo.Items)
{
CheckBox ckbID = (CheckBox)item.FindControl("rpInfo");
if (ckbID.Checked == true)
{
Session["sess"]=?????;
}
}
}

#endregion
CheckBox ckbID = (CheckBox)item.FindControl("rpInfo")应该是 CheckBox ckbID = (CheckBox)item.FindControl("ckbSelect");
展开
 我来答
热爱星b
2015-06-17 · TA获得超过367个赞
知道小有建树答主
回答量:217
采纳率:50%
帮助的人:116万
展开全部
每一个sessionid对应只能存储一个值,也就是当你foreach的时候,存在多个选中项的时候,每遍历一个选中项,session["sess"]都会被替换成当前选中项的值。
private void GetSession()
{
List<string> CBIDList=new List<string>();
foreach (RepeaterItem item in rpInfo.Items)
{
CheckBox ckbID = (CheckBox)item.FindControl("ckbSelect");
if (ckbID!=null&&ckbID.Checked == true)
{
CBIDList.Add(ckbID.ID);
}
}
Session["sess"]=CBIDList;
}
追问
  我是要做编辑,要把ID放到session里传到编辑页面,然后编辑页面填充这个ID对应的数据库数据,所以不用考虑多个ID,我会让用户只能选择一行的。如果是这样,我的原代码要怎么改呀
追答

给你的Repeater加一个事件DataBound。  在绑定数据的时候给每一行的编辑按钮添加事件, 具体的业务处理都放到编辑按钮的事件里处理就行了。

可以参考这个。

<code>http://www.cnblogs.com/nniixl/articles/1333462.html</code>
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式