Как создать дружественные ссылки в asp.net 2 - PullRequest
1 голос
/ 10 ноября 2008

Я попытался использовать IHttpModule и сумел преобразовать URL-адреса очень хорошо, но все мои изображения возвращали ошибку пути (все проходили через новый каталог url).

Какое решение?

Ответы [ 3 ]

1 голос
/ 10 ноября 2008

Необходимо убедиться, что вы используете обозначение пути "~ /" на своих изображениях и убедитесь, что все они являются серверными элементами управления с runat = 'server'. В противном случае URL-адреса изображений не будут переписаны.

Например, если у вас есть страница, которая переписывается с:

/ Пункт / Bicycle.aspx

до

/ Item.aspx? ID = 1234

Тогда что будет, если ссылка на изображение будет такой:

<img src='images/something.gif' />

сломается. Поэтому вместо этого вы должны сделать что-то вроде этого:

<asp:image imageurl='~/images/something.gif' runat='server' id='img1'/>

В качестве альтернативы вы можете использовать абсолютные пути для ваших изображений. Или вы можете вставить как можно больше в свои файлы .css.

0 голосов
/ 11 ноября 2008

Какое решение? Используйте новый механизм маршрутизации в .NET 3.5, который был запущен в проекте MVC и получил статус автономного. :)

Если предложение Keltex не решит вашу конкретную проблему, посмотрите ResolveUrl и ResolveClientUrl.

0 голосов
/ 10 ноября 2008

Вы можете попробовать использовать средство перезаписи URL, например IIRF .

С помощью IIRF вы можете использовать регулярные выражения для анализа входящего URL-адреса по своему усмотрению, а затем отправить его в нужное место.

В них есть примеры того, как сделать все это в загрузке IIRF.

...