2012-11-29 41 views
0

網站地圖:GridView控件與地圖數據源 - 顯示子節點

<?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

enter image description here

回答

0

我簡化了你的代碼,但爲什麼不窩GridView控件,使用的childNodes作爲數據源?如果您的目的更好,您也可以在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>