Маршрут MVC с параметром

Скажем, у меня есть tblStudent со списком студентов.

Я показываю этот список, используя следующее действие: domain/students/index.

Теперь у меня есть список типов студентов (которые редактируются пользователем). Например:

Ребенок, Взрослый, Математический, Удаленный и т.д.

Я хочу отфильтровать мою индексную страницу ученика по типу, например:

domain/students/index/math или domain/students/index/remote

Кроме того, когда я собираюсь обновить страницу, я хочу, чтобы этот домен остался прежним, то есть, если, например, я перехожу к редактированию ученика, он перенаправляет меня на: domain/students/math/edit/2 или что-то подобное.

В принципе мне нужен расширенный параметр, который поддерживает его или может быть другой подход.

1 ответ

в файле RouteConfig.cs:

public static void RegisterRoutes(RouteCollection routes)
{
 routes.MapRoute(
 name: "StudentList",
 url: "Students/{type}",
 defaults: new { controller = "Students", 
 action = "Index", 
 type = UrlParameter.Optional });
}

и в вашем представлении:

<a href="@Url.RouteUrl(" studentlist",="" new{="" controller="Students" ,="" action="Index" type="math" or="" whatever="" your="" parameter="" is="" })"="" target="_blank">Math Students</a>

Примечание. Я предполагаю, что ваше имя контроллера - "Студенты", а ваше имя действия - "Индекс". Используйте параметр "Тип" в качестве параметра в вашем указателе для фильтрации учащихся.

licensed under cc by-sa 3.0 with attribution.