【问题标题】:using a repeater within a repeater working with xml在使用 xml 的中继器中使用中继器
【发布时间】:2011-08-03 16:14:16
【问题描述】:

我有一个这样的 xml 文档:

<NewDataSet>
    <videos>
      <video>
        <name>name of video</name>
      </video>
    </videos>
    <videos>
      <video>
        <name>name of video</name>
      </video>
    </videos>
</NewDataSet>

我希望能够在转发器中使用转发器来编辑存储在不同节点中的一些值。

protected void Page_Load(object sender, EventArgs e)
{
    DataSet videos = new DataSet();


    XmlDocument doc = new XmlDocument();
    doc.Load(Server.MapPath("/my.xml"));

    XmlNodeList nodes =
       doc.SelectNodes("NewDataSet/videos");

    rptVideosList.DataSource = nodes;
    rptVideosList.DataBind();
}
protected void videoRepeater_ItemBound(object sender, RepeaterItemEventArgs e)
{
    if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
    {
        XmlNode video = (XmlNode)e.Item.DataItem;
        Repeater rptvideo = (Repeater)e.Item.FindControl("rptVideoList");
        rptvideo.DataSource = video.ChildNodes;
        rptvideo.DataBind();
    }
}


<asp:Repeater ID="rptVideosList" runat="server" OnItemDataBound="videoRepeater_ItemBound">
            <HeaderTemplate></HeaderTemplate>
            <ItemTemplate>
            <div style="border:solid 1px red; clear:both;">
            videos
                <asp:Repeater ID="rptVideoList" runat="server">
                <HeaderTemplate></HeaderTemplate>
                <ItemTemplate>
                    video
                </ItemTemplate>
                <ItemTemplate></ItemTemplate>
                </asp:Repeater>
            </div>
            </ItemTemplate>
            <FooterTemplate></FooterTemplate>
        </asp:Repeater>

这似乎只是显示“视频”节点,而不是“视频”节点。即前端只是显示这个:

视频 视频

任何帮助将不胜感激

【问题讨论】:

    标签: c# asp.net xml


    【解决方案1】:

    您的内部中继器布局错误

     <ItemTemplate>
                        video
                    </ItemTemplate>
                    <ItemTemplate></ItemTemplate>
    

    删除一个&lt;ItemTemplate&gt;&lt;/ItemTemplate&gt;

    【讨论】:

    • 嗨 IceN,感谢您的回复,我删除了这个额外的项目模板,但结果仍然相同
    • 我已经在我的 VS 中进行了测试,一切正常。我有这个内部中继器的代码 video 如果它没有帮助我可以分享我的 vs 项目。
    • 奇怪,请。有没有办法通过stackoverflow共享文件?
    猜你喜欢
    • 2023-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-27
    相关资源
    最近更新 更多