URL-адреса, такие как ASP.NET MVC предлагает - PullRequest
2 голосов
/ 24 января 2009

Есть ли способ реализовать механизм URL в asp.net, как в asp.net mvc

например. mydomain.com/user/myusername, но без использования MVC

если да, то как?

Ответы [ 6 ]

4 голосов
/ 24 января 2009

Это можно сделать с помощью сборки System.Web.Routing

Вот блог , показывающий, как: -)

2 голосов
/ 24 января 2009

Если у вас есть доступ к IIS:

  • Если это IIS7, модуль перезаписи URL может работать.
  • Установите IIS для обработки ЛЮБОГО запроса с ASP.NET и добавьте запись в Global.ashx

Если это Apache, используйте mod_rewrite.

В противном случае вы можете использовать:
http://myserver/Web.aspx/url/1 или:
http://myserver/Url.aspx/1 и обработать Request.Uri.PathInfo

Он должен идти куда-нибудь в файл .aspx, иначе он не будет обработан.

2 голосов
/ 24 января 2009

Вы можете использовать тот же механизм маршрутизации, который ASP.NET MVC использует внутри приложения ASP.NET WebForm. Прочтите этот пост Фила Хаака о том, как узнать о нем больше.

или

Если вы не хотите использовать функцию маршрутизации и хотите развернуть свою, отметьте этот вопрос .

1 голос
/ 24 января 2009

Я делал это в прошлом с ASP.NET 2.0 и UrlRewrite.Net библиотека

Единственный прием в том, что если вы хотите, чтобы он работал с путями, не имеющими расширений aspx, вам необходимо настроить IIS для прохождения каждого запроса через механизм ASP.NET.

0 голосов
/ 09 марта 2009

IIRF делает перезапись URL для IIS5 и 6. Поддерживает Regex. Свободно. Открытый исходный код.

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

В 2005 году я создал классическое приложение ASP.NET (я не могу поверить, что этот термин существует), которое использовало переписывание, и в то время эта статья на MSDN была очень полезной: http://msdn.microsoft.com/en-us/library/ms972974.aspx.

Если вы ограничены 2,0 или даже 1,1, это может быть путь, так как System.Web.Routing только 3,5.

...