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>

是不是我希望站点地图使用的网络表单被添加到文件夹的根目录中,而不是在文件夹中?帮助将不胜感激。谢谢你。

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 回答