Asp.Net MVC Route Table и действия контроллера
-
19-08-2019 - |
Вопрос
Я создаю своего рода каталог с членами и их профилями. Я использую MVC фреймворк в .net. Р>
У меня есть представление, которое позволяет вам находить участников на основе некоторых критериев, поэтому у моего контроллера есть результат действия Find (), а затем другого, который принимает глагол post. Итак, somesite.com/members/find отображает инструменты поиска, а после отправки формы тот же URL отображает результаты. Теперь я хочу, чтобы имя члена ссылалось на другой метод actionresult в том же контроллере для отображения их профиля, и я хочу, чтобы URL-адреса следовали этому шаблону somesite.com/members/ndomusername}. Р>
Как мне создать метод контроллера, который будет это делать?
Есть ли что-то большее, чем это?
Нужно ли мне наносить на карту новые маршруты в global.asax? Р>
Спасибо за помощь.
Решение
Сначала создайте свой метод действия на контроллере следующим образом:
public ActionResult Profile(string userName)
{
// Do What you want with the userName
throw new System.NotImplementedException();
}
Затем создайте новый маршрут в вашем файле global.asax для обработки somesite.com/members/ndomusername}, например так:
routes.MapRoute(
"Profile",
"members/{username}",
new { controller = "Members", action = "Profile", userName = "" }
);
Вот и все. Я не уверен, что вы называете контроллер, который будет размещать метод действия. Я принял членов.