0

错误:

“Repeater”不包含“DataSource”的定义,并且找不到接受“Repeater”类型的第一个参数的扩展方法“DataSource”(您是否缺少 using 指令或程序集引用?)

代码:

 protected void rptIndicator_ItemDataBound(object sender, RepeaterItemEventArgs e)
    {
        Repeater r2 = (Repeater)e.Item.FindControl("rptActivity");
        r2.DataSource = dt; //Error on this line.
        r2.DataBind();
    }

标记:

<asp:Repeater ID="rptIndicator" runat="server" OnItemDataBound="rptIndicator_ItemDataBound">
        <ItemTemplate>
            <asp:Repeater ID="rptActivity" runat="server">
                <ItemTemplate>
                    <asp:Repeater ID="rptActivityData" runat="server"></asp:Repeater>
                </ItemTemplate>
            </asp:Repeater>
        </ItemTemplate>
    </asp:Repeater>

你能帮忙吗?为什么.DataSource在这里给我错误。

谢谢。

4

2 回答 2

0

您是否有其他一些引用在其命名空间中包含一个Repeater类?

也许尝试将其转换为System.Web.UI.WebControls.Repeater.

于 2011-08-10T23:20:27.787 回答
-1

首先,您需要检查 ItemType 否则您会想知道为什么会出现运行时错误。

switch (e.Item.ItemType) {
    case ListItemType.Item:
    case ListItemType.AlternatingItem:
         Repeater r2 = (Repeater)e.Item.FindControl("rptActivity");
         r2.DataSource = dt; //Error on this line.
         r2.DataBind();
 }

我猜这是一个错字,但是您的标记将转发器列为“ rptActivityData ”,但在您的代码中您正在寻找FindControl("rptActivity")

于 2011-08-10T21:39:37.407 回答