#asp.net-mvc #asp.net-mvc-3 #asp.net-mvc-routing
#asp.net-mvc #asp.net-mvc-3 #asp.net-mvc-маршрутизация
Вопрос:
Мне просто интересно, какой стиль маршрутизации большинство людей использовали бы, чтобы иметь имя пользователя с различными разделами, использующими ASP.NET MVC 3?
/username/profile
/username/settings
/username/details
против
/profile/username
/settings/username
/details/username
Если бы был выбран первый стиль, как бы вы обрабатывали маршруты?
Комментарии:
1. смогут ли пользователи получить доступ к страницам профилей других пользователей, настроек и сведений?
2. Идея в том, что я хотел бы, чтобы другие пользователи видели только страницу сведений о других пользователях. Разделы профиля и настроек должны быть видны только вам, а не другим пользователям
Ответ №1:
Учитывая ваш ответ в комментарии, я бы структурировал его как
/Настройки
/Профиль
и
/Имя пользователя
Когда пользователь переходит в /Settings или / Profile, он увидит только свои собственные данные.
когда они перейдут в /Username, они увидят профиль пользователя (будь то их собственный или чей-либо еще).
для выполнения этой работы вашему глобальному asax потребуются настроенные соответствующие маршруты.
Комментарии:
1. Спасибо за предложение, с этой идеей я должен был бы убедиться, что у меня есть зарезервированные слова, поэтому именем пользователя не может быть профиль, настройки и т.д.?
2. да, в этой модели пользователю не будет разрешено иметь имя, совпадающее с именем любого из ваших контроллеров, и он не может установить свое имя пользователя как «Профиль» или «Настройки» … хотя вам не нужно беспокоиться об этом.
Ответ №2:
Как спросил @raklos в комментарии, это действительно зависит от того, как структурировано приложение. Для меня самые левые части URL более важны, чем те, что справа.
Итак, в вашем верхнем дизайне пользователь является самой важной частью, и у каждого пользователя есть разные разделы с материалами.
С другой стороны, в нижнем дизайне разделы являются важными частями, и для каждого раздела вы могли бы просмотреть эту информацию для конкретного пользователя.
Для меня наиболее естественным кажется верхний, потому что профиль, настройки и детали будут уникальными для каждого пользователя, поэтому концепция заключается в том, что пользователь имеет различные разделы, а не в каждом разделе есть разные пользователи. Также казалось бы более гибким / естественным для некоторых пользователей иметь больше / меньше разделов, чем у других пользователей, а не в некоторых разделах больше / меньше пользователей, чем в других разделах.