我有一个asp转发器控件,我从页面加载绑定数据源,如果有数据,一切正常,但是当我没有数据显示我想访问页脚模板显示标签:“没有可用的数据”
我尝试使用此代码:
Label lblTotal = (Label)repeaterAccessFooterControl.Controls[repeaterAccessFooterControl.Controls.Count - 1].FindControl("lblTotal");
但repeaterAccessFooterControl.Controls.Count总是= 0 ..
如何从页面加载访问页脚控件, 我认为,在页面加载中,转发器还没有正确渲染..所以它等于0
我怎样才能实现?
答案 0 :(得分:0)
确保在没有要显示的数据时,将空集合绑定到转发器而不是null
值。然后你就可以控制FindControlRecursive
,如下所示:
var lblTotal = FindControlRecursive(<<your_repater_control>>, "lblTotal") as Label;
以下是FindControlRecursive
public Control FindControlRecursive(Control root, string id)
{
return root.ID == id ? root : (from Control c in root.Controls select FindControlRecursive(c, id)).FirstOrDefault(t => t != null);
}
此致 乌罗什
答案 1 :(得分:0)
为什么不切换到ListView,然后你可以使用EmptyDataTemplate?