0

サイトマップ データ ソース + ツリービュー コントロールを挿入し、サイトマップ ファイルを作成しました。すべてのフォルダー/ファイル名は正しいですが、ツリービューはサイトマップ ファイルから直接読み取っていません。助言がありますか?

サイトマップ コードを以下に示します。

<?xml version="1.0" encoding="utf-8" ?>
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >

    <siteMapNode url="~/Default.aspx" title="Home"  description="">
        <siteMapNode url="~/about2.aspx" title="About"  description="" >
        </siteMapNode>
        <siteMapNode url="~/menu.aspx" title="Menu" description="">
            <siteMapNode url="~/starters.aspx" title="Starters" description=""/>
            <siteMapNode url="~/mains.aspx" title="Mains" description=""/>
            <siteMapNode url="~/desserts.aspx" title="Desserts" description=""/>
            <siteMapNode url="~/drinks.aspx" title="Drinks" description=""/>
            <siteMapNode url="~/specials.aspx" title="Specials" description=""/>
        </siteMapNode>
        <siteMapNode url="~/contact.aspx" title="Contact" description="">
        </siteMapNode>
        <siteMapNode url="~/findus.aspx" title="Find Us" description="">
        </siteMapNode>
        <siteMapNode url="~/reviews.aspx" title="Reviews" description="">
        </siteMapNode>
    </siteMapNode>
</siteMap>

サイトマップを操作する Web フォームが、フォルダーではなくフォルダーのルートに追加されている可能性がありますか? 助けていただければ幸いです。ありがとうございました。

asp.net/html のソース コード。

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="sitemap.aspx.vb" Inherits="sitemap" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>

        <asp:SiteMapDataSource ID="SiteMapDataSource1" runat="server" />
        <br />

    </div>
    <asp:TreeView ID="TreeView1" runat="server" DataSourceID="SiteMapDataSource1">
    </asp:TreeView>
    </form>
</body>
</html

>

4

1 に答える 1

0

何か他のものを検索してこれに出くわしました。SiteMapDataSource に「SiteMapProvider」が指定されていません。使用するマップをどのように認識しますか?

これは、systen.web セクションの web.config で指定する必要があります。

    <siteMap defaultProvider="secure" enabled="true">
       <providers>
         <add name="mapname" description="my site map" type="System.Web.XmlSiteMapProvider" siteMapFile="filename.sitemap" />
       </providers>
     </siteMap>

したがって、 SiteMapProvider="mapname" を設定する必要があります

于 2012-07-27T12:21:59.697 に答える