开发者

using a repeater within a repeater working with xml

i have an xml document structured like this:

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

i want to be able to use a repeater within a repeater to edit some of the values stored in the different nodes.

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>
                 开发者_JS百科   video
                </ItemTemplate>
                <ItemTemplate></ItemTemplate>
                </asp:Repeater>
            </div>
            </ItemTemplate>
            <FooterTemplate></FooterTemplate>
        </asp:Repeater>

this just seems to be showing the 'videos' nodes but not the 'video' nodes. ie the front end just shows this:

videos videos

any help will be appreciated


You have wrong inner repeater layout

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

Remove one <ItemTemplate></ItemTemplate>

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜