Asp.Net MVC Route Table и действия контроллера - PullRequest
5 голосов
/ 23 января 2009

Я создаю своего рода каталог с членами и их профилями. Я использую MVC фреймворк в .net.

У меня есть представление, которое позволяет вам находить участников на основе некоторых критериев, поэтому у моего контроллера есть результат действия Find (), а затем другого, который принимает глагол post. Итак, somesite.com/members/find отображает инструменты поиска, а после отправки формы тот же URL отображает результаты. Теперь я хочу, чтобы имя члена ссылалось на другой метод actionresult в том же контроллере для отображения их профиля, и я хочу, чтобы URL-адреса следовали этому шаблону somesite.com/members/ndomusername}.

Как мне создать метод контроллера, который будет это делать? Есть ли что-то большее, чем это?
Нужно ли мне наносить на карту новые маршруты в global.asax?

Спасибо за помощь.

1 Ответ

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

Сначала создайте свой метод действия на контроллере следующим образом:

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 = "" }
);

Вот и все. Я не уверен, что вы называете контроллер, который будет размещать метод действия. Я принял членов.

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