1

当我为每个页面创建文件夹并重新映射 web.config 中的文件夹时,出现了这个问题。

1)我看不到页面的内容。

2)当我使用导航控件时,我的 web.SiteMap 不起作用并且不显示页面路径。

我的项目有什么问题,我解决了什么?

这个链接是我的网站:

网址映射代码:

<urlMappings>
        <add url ="~/HOME" mappedUrl ="~/Default.aspx"/>
        <add url ="~/a" mappedUrl ="~/a.aspx" />
        <add url ="~/a1" mappedUrl ="~/a1/a1.aspx"/>
        <add url ="~/a2" mappedUrl ="~/a2/a2.aspx"/>
        <add url ="~/b" mappedUrl ="~/b/b.aspx"/>
        <add url ="~/b1" mappedUrl ="~/b1/b1.aspx"/>
        <add url ="~/b2" mappedUrl ="~/b2/b2.aspx"/>
        <add url ="~/b3" mappedUrl ="~/b3/b3.aspx"/>
        <add url ="~/c" mappedUrl ="~/c/c.aspx"/>
        <add url ="~/c1" mappedUrl ="~/c1/c1.aspx"/>

          </urlMappings>

站点地图代码:

<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >

<siteMapNode url="~/HOME" title="Home"  description="Home Page">

  <siteMapNode url="~/a" title="page a" description="page a">
    <siteMapNode url="~/a1" title="page a-1" description="page 1 of a" />
    <siteMapNode url="~/a2" title="page a-2" description="page 2 of a"/>
  </siteMapNode>

  <siteMapNode url="~/b" title="page b" description="page b">
    <siteMapNode url="~/b1" title="page b-1" description="page 1 of b" imageTitle="lake"/>
    <siteMapNode url="~/b2" title="page b-2" description="page 2 of b" imageTitle="wolf"/>
    <siteMapNode url="~/b3" title="page b-3" description="page 3 of b" imageTitle="thunder"/>
  </siteMapNode>

  <siteMapNode url="~/c" title="page c" description="page c">
    <siteMapNode url="~/c1" title="page c-1" description="page 1 of c"/>
  </siteMapNode>

</siteMapNode>
4

2 回答 2

0

问题是您想要的 Url 是您 wbesite 中的实际文件夹,因此 IIS 首先选择它。有几种方法可以解决这个问题。

  • 将所有 .aspx 文件名更改为 Default.aspx,这些将在您键入http://website/a时被选中,例如,如果您有一个名为“a”的文件夹,其中包含 Default.aspx,请删除其中的所有条目urlMappings
  • 将 URL 作为与实际目录不同的名称
  • 使用 3.5 SP1 中已经引入的 ASP.Net URL Routing 看看Chis Cavanagh的博客文章就可以了。
  • 使用 Jose 提到的 ReWritter
于 2009-04-24T08:45:16.727 回答
0

我可以解决我的问题。

您应该创建文件夹名称默认值并创建页面名称默认值,然后在导航控件中使用 web.sitemap。

于 2009-04-24T12:57:13.237 回答