网页:
<?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
答案 0 :(得分:0)
我正在简化您的代码,但为什么不使用ChildNodes作为数据源来嵌套Gridview控件?如果更好地满足您的目的,您也可以在Repeater中执行此操作。
<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>