Я не могу использовать файл Sitemap при использовании UrlMapping - PullRequest
1 голос
/ 23 апреля 2009

когда я создаю папку для каждой страницы и переназначаю их в web.config, появилась эта проблема.

1) Я не вижу содержимого страниц.

2) Когда я использую элементы управления навигацией, мой web.SiteMap не работает и не показывает путь страниц.

В чем проблема в моем проекте и что я решаю?

эта ссылка на мой сайт:

Код Urlmapping:

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

Ответы [ 2 ]

0 голосов
/ 24 апреля 2009

Я могу решить мою проблему.

Вам следует создать имя папки по умолчанию и создать имя страницы по умолчанию, а затем использовать web.sitemap в элементах управления навигацией.

0 голосов
/ 24 апреля 2009

Проблема в том, что URL-адрес, который вам нужен, является реальной папкой на вашем веб-сайте, поэтому IIS сначала подхватывает его. Есть несколько способов обойти это.

  • Измените все имена файлов .aspx на Default.aspx, и они будут выбраны при вводе http://website/a, например, если у вас есть папка с именем «a» с именем Default.aspx, удалите все записи в urlMappings
  • URL-адрес должен отличаться от реального каталога
  • Используйте ASP.Net URL Routing, который был представлен в 3.5 SP1, посмотрите Chis Cavanagh сообщение в блоге об этом.
  • Используйте, как Хосе упомянул ReWritter
...