0

だから、ここに私が取り組んでいるものがあります。ASP.NET Web アプリを使用しています。このアプリでは、web.sitemap を介して site.master ファイルにサイトマップが表示されます。site.master は次のとおりです。

<asp:SiteMapDataSource ID="SiteMapDataSource1" runat="server" />
<asp:TreeView
 ID="TreeView1"
 runat="server"
 ataSourceID="SiteMapDataSource1"
 ExpandDepth="1">
    </asp:TreeView>

そして、ここに web.sitemap があります:

<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
    <siteMapNode url="~/Default.aspx" title="Home"  description="Home">        
      <siteMapNode url="" title="Projects"  description="">        
      </siteMapNode>
      <siteMapNode url="" title="Configurations"  description="Configurations">
        <siteMapNode url="" title="Experiments" description="Experiments">
        </siteMapNode>
        <siteMapNode url="" title="Cell Line" description =""></siteMapNode>
        <siteMapNode url ="" title ="Drugs">
        </siteMapNode>
        <siteMapNode url ="" title="Manage Configurations" />
          <siteMapNode url="~/ExperimentConfigurationView.aspx" title ="Configure Experiements"/>
          <siteMapNode url="~/DrugConfigurationView.aspx" title="Configure Drugs"/>
        </siteMapNode>
      </siteMapNode>
      <siteMapNode url="" title="Drug Recipes" description="">
      </siteMapNode>
    </siteMapNode>
</siteMap>

さて、ここで私は問題に直面しています。私がやりたいことは、このサイト マップを動的に作成された SiteMapProvider と組み合わせて、このマップのサブツリーにデータを入力することです。たとえば、Projects、Experiments、Cell Line、Drug Recipe の各ノードには、データベースから入力されたサブツリーがあります。どこから探し始めるべきかについての意見や提案はありますか?

要約すると、葉の siteMapNodes を SiteMapProvider に向けたいと思います。

4

1 に答える 1

0

解決:

ルート ディレクトリに DrugListProvider.cs ファイルを追加しました。サブツリーを動的に生成するためのコードを保持します。

サブツリーを表示する Web.sitemap に次のノードを配置しました。

<siteMapNode provider="DrugListProvider"/>

最後に、これを web.config ファイルに含めます。

<siteMap>
  <providers>
    <add name="DrugListProvider" type="PrivoWeb.DrugListProvider"/>
  </providers>
</siteMap>
于 2012-06-13T18:28:24.907 に答える