Вопрос

Я создаю своего рода каталог с членами и их профилями. Я использую 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 = "" }
);

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top