0

网站地图:

<?xml version="1.0" encoding="utf-8" ?>
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0">
    <siteMapNode  url="" title="hello"  description="hello">
        <siteMapNode  url="~/WFM1.aspx" title="WFM1"  description="This is WFM1" />
        <siteMapNode url="~/WFM2.aspx" title="WFM2"  description="This is WFM2" />
    </siteMapNode>
</siteMap>

.aspx:

  <asp:GridView ID="GridView1" runat="server"  DataSourceID="SiteMapDataSource1" Height="52px" style="margin-right: 2px; margin-top: 9px" Width="215px">
            <Columns >
                <asp:BoundField DataField="Description" HeaderText="Description" ReadOnly="True" SortExpression="Description" />
                <asp:BoundField DataField="Title" HeaderText="Title" ReadOnly="True" SortExpression="Title" />
                <asp:BoundField DataField="Url" HeaderText="Url" ReadOnly="True" SortExpression="Url" />
            </Columns>

        </asp:GridView>

出于某种原因,它只向我显示父节点。我想知道我是否没有得到任何东西,但我希望在 GridView 中也显示两个孩子。不要问我为什么需要以这种特殊的方式来做。(我也不知道——欢迎来到学术界)

上下文:VS2012:U

在此处输入图像描述

4

1 回答 1

0

我正在简化您的代码,但为什么不使用 ChildNodes 作为数据源嵌套一个 Gridview 控件呢?如果可以更好地满足您的目的,您也可以在中继器中执行此操作。

<asp:GridView ID="GridView1" runat="server"  DataSourceID="SiteMapDataSource1" Height="52px" style="margin-right: 2px; margin-top: 9px" Width="215px">
    <Columns>
            <asp:TemplateField>
                    <ItemTemplate>
                            <asp:GridView ID="GridView2" runat="server" AutoGenerateColumns="true" DataSource='<%#Eval("ChildNodes")%>'></asp:GridView>
                        </ItemTemplate>
                    </asp:TemplateField>
        </Columns>
</asp:GridView>
于 2013-01-17T18:18:51.487 回答