ASP.net MVC Routing: это хороший стиль для использования QueryStrings? - PullRequest
4 голосов
/ 17 февраля 2010

Должны ли все маршруты в ASP.net MVC следовать философии "Только слэши, но не QueryString"?

Я работаю над программным обеспечением Wiki, поэтому у меня есть маршруты вроде

/{pageTitle}
/{pageTitle/Edit
/{pageTitle/History

и т.д.. для всех действий, но что, если я хочу контролировать поведение действия? Это что-то вроде

/{pageTitle}?noredirect=true

хорошо или считается плохой практикой? Если последнее, есть ли лучший вариант? Должен ли я создать отдельный маршрут

/{pageTitle}/NoRedirect

вместо

Я думаю, что это чисто, но, опять же, я никогда не писал сложное приложение MVC, для которого потребовалось бы передавать опции действию раньше:

1 Ответ

9 голосов
/ 17 февраля 2010

Я думаю, что нет однозначного ответа на это.

Но мне кажется более естественным просто иметь элементы, связанные с контроллером и действиями, в левой части URL и иметь «необязательные» параметры в QueryString.

Пока ясно, что;

  • /{pageTitle} покажет статью,
  • /{pageTitle}/Edit отредактирует artice,
  • /{pageTitle}/History покажет историю этого искусства

/{pageTitle}/NoRedirect на самом деле не звонит в колокол.
Но немного более очевидно, что /{pageTitle}?noredirect=true изменяет поведение действия.

Так что я бы пошел с /{pageTitle}?noredirect=true в вашем случае.

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