c# 子控件获取父控件ID

现在我有一个checkbox在datalist里,想再点击checkBox时在后台获得datalist的ID。该怎么弄?以checkboxchk=(checkbox)se... 现在我有一个checkbox在datalist里,想再点击checkBox时在后台获得datalist 的ID。该怎么弄?以checkbox chk =(checkbox)sender,为前提找
求大神指导
展开
 我来答
非典型天秤座
2012-09-12 · TA获得超过1395个赞
知道大有可为答主
回答量:850
采纳率:0%
帮助的人:1353万
展开全部
checkbox chk =(checkbox)sender;
chk.Parent.Parent应该就是
我不确定是几个Parent,你可以自己试试,就是找父级控件。

其实还有一种更简单的方法,我记得datalist绑定出来的checkbox,其ClientID的属性都是以:DataListID_index_模版中CheckBox的ID这种组合形式来确定,所以你只需要获得chk的ClientID,然后自己拆分出来找到其所属的DataListID就可以了。
icefish_527
2012-09-13 · TA获得超过354个赞
知道小有建树答主
回答量:605
采纳率:0%
帮助的人:357万
展开全部
还找啥劲,直接给datalist写个ID,后台直接用就完了,总不能datalist也是itemsControl下的一个item吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zeroisback
推荐于2016-03-16 · TA获得超过255个赞
知道答主
回答量:101
采纳率:0%
帮助的人:100万
展开全部
可以用这个函数来找,会找到第一个符合的DetailList:
递归:

string GetParentID(Control child)
{
if(child.Parent == null)
{
throw new Exception("There is no such a parent.");

}

if(child.Parent is DetailList)
{
return child.Parent.ID;

}
return GetParentID(child.Parent);

}
循环:
string GetParentID(control child)
{
while (true)
{
if(child.Parent == null)
{
throw new Exception("There is no such a parent.");
}

if( child.Parent is DetailList) return child.Parent.ID;
child = child.Parent;

}

}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式