c# 子控件获取父控件ID
现在我有一个checkbox在datalist里,想再点击checkBox时在后台获得datalist的ID。该怎么弄?以checkboxchk=(checkbox)se...
现在我有一个checkbox在datalist里,想再点击checkBox时在后台获得datalist 的ID。该怎么弄?以checkbox chk =(checkbox)sender,为前提找
求大神指导 展开
求大神指导 展开
展开全部
checkbox chk =(checkbox)sender;
chk.Parent.Parent应该就是
我不确定是几个Parent,你可以自己试试,就是找父级控件。
其实还有一种更简单的方法,我记得datalist绑定出来的checkbox,其ClientID的属性都是以:DataListID_index_模版中CheckBox的ID这种组合形式来确定,所以你只需要获得chk的ClientID,然后自己拆分出来找到其所属的DataListID就可以了。
chk.Parent.Parent应该就是
我不确定是几个Parent,你可以自己试试,就是找父级控件。
其实还有一种更简单的方法,我记得datalist绑定出来的checkbox,其ClientID的属性都是以:DataListID_index_模版中CheckBox的ID这种组合形式来确定,所以你只需要获得chk的ClientID,然后自己拆分出来找到其所属的DataListID就可以了。
展开全部
还找啥劲,直接给datalist写个ID,后台直接用就完了,总不能datalist也是itemsControl下的一个item吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以用这个函数来找,会找到第一个符合的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;
}
}
递归:
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;
}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询