Необходим ли маршрут pageAction.Details в шаблоне динамических данных по умолчанию?
-
02-07-2019 - |
Вопрос
В шаблоне Visual Studio по умолчанию для веб-приложения с динамическими данными Global.asax включает следующие два примера маршрутов.
// route #1
routes.Add(new DynamicDataRoute("{table}/ListDetails.aspx") {
Action = PageAction.List,
ViewName = "ListDetails",
Model = model
});
// route #2
routes.Add(new DynamicDataRoute("{table}/ListDetails.aspx") {
Action = PageAction.Details,
ViewName = "ListDetails",
Model = model
});
Они отличаются только свойством Action.Комментарии в Global.asax указывают, что два маршрута используются для настройки одной страницы, которая обрабатывает все действия CRUD.
Почему необходим маршрут №2?Он что-нибудь делает?ListDetails.aspx не просматривает свойство Action маршрута.Кажется, что все работает нормально, когда я закомментирую маршрут № 2, и у меня есть только маршрут № 1 в Global.asax.Маршрут № 2 выглядит так, как будто он не используется.
Решение
Вы правы, маршрут №2 в данном случае использоваться не будет.Единственный раз, когда маршрут № 2 вступил бы в игру, - это если бы вы запрашивали URL страницы сведений из механизма маршрутизации.Поскольку шаблон страницы ListDetails.aspx обрабатывает как представления списка, так и сведений, он никогда не запрашивает URL-адрес шаблона сведений.