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 内にも 2 つの子を表示したいと考えています。なぜこの特定の方法でそれを行う必要があるのか​​ と聞かないでください。(私も知りません - アカデミアへようこそ)

コンテキスト: 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 に答える