Определите маршрут ASP.NET MVC с косой чертой - PullRequest
7 голосов
/ 27 июня 2011

В URL-адресе, подобном http://mysite.com/controller/action/123/name-of-article, есть ли способ определить маршрут так, чтобы часть '123 / name-of-article' передавалась как строка?

Ответы [ 2 ]

13 голосов
/ 27 июня 2011

Вы можете сделать маршрутный символ маршрута:

MapRoute("{controller}/{action}/{*id}")
0 голосов
/ 27 июня 2011

Я не уверен, каковы ваши требования, но вы уверены, что хотите передать название статьи контроллеру?Не лучше ли просто передать идентификатор, а затем выполнить ВЫБОР из базы данных, чтобы получить имя?

Если вы все еще хотите иметь URL-адрес, такой как http://mysite.com/controller/action/123/name-of-article, но только передать идентификатор, вы можете использовать маршруткак это

 routes.MapRoute(
               "MyNewRoute",            // Route name
               "articles/edit/{id}/{name}",       // URL
               new { controller = "Articles", action = "Edit", id = "" }, // Defaults
               new[] { "YourApp.UI.Controllers" }                       // Namespaces
             );

Тогда ваш контроллер действия

public ActionResult Edit(int id)
{

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...