在Page_Load上绑定dataSource

时间:2013-11-02 09:26:50

标签: asp.net repeater

我有一个asp转发器控件,我从页面加载绑定数据源,如果有数据,一切正常,但是当我没有数据显示我想访问页脚模板显示标签:“没有可用的数据”

我尝试使用此代码:

Label lblTotal = (Label)repeaterAccessFooterControl.Controls[repeaterAccessFooterControl.Controls.Count - 1].FindControl("lblTotal");

但repeaterAccessFooterControl.Controls.Count总是= 0 ..

如何从页面加载访问页脚控件, 我认为,在页面加载中,转发器还没有正确渲染..所以它等于0

我怎样才能实现?

2 个答案:

答案 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