2010-02-17 2 views
4

ASP.net MVC의 모든 경로가 "슬래시, 쿼리 문자열 없음"철학을 따라야합니까?ASP.net MVC 라우팅 : QueryStrings를 사용하는 것이 좋은 스타일입니까?

나는 위키 소프트웨어에서 일하고 있어요, 그래서 모든 작업 등

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

,하지만 나는 액션의 동작을 제어하려는 경우와 같은 경로를 가지고? 뭔가입니까?

/{pageTitle}?noredirect=true 

괜찮습니까? 아니면 나쁜 생각입니까? 후자의 경우 더 나은 옵션이 있습니까? 별도의 경로를 만들어야합니까?

/{pageTitle}/NoRedirect 

대신에 경로를 만들어야합니까?

나는 깨끗하다고 ​​생각하지만 다시 나는 명확한 대답은 여기에 없다 생각 :)

답변

9

전에 작업에 옵션을 전달해야 복잡한 MVC 응용 프로그램을 작성 적이 없어요.

그러나 나에게 URL 왼쪽에 컨트롤러 & 동작 관련 부분이 있고 QueryString에 "optional"매개 변수가있는 것이 더 자연 스럽습니다.

분명하다. 문서를 표시합니다

  • /{pageTitle},
  • /{pageTitle}/Edit
  • 가 artice을 편집합니다,
  • /{pageTitle}/History
  • 정말 벨을하지 않는 artice

/{pageTitle}/NoRedirect의 역사를 보여줍니다.
그러나 더 정확하게는 /{pageTitle}?noredirect=true이 동작의 동작을 수정합니다.

귀하의 경우에는 /{pageTitle}?noredirect=true과 함께 갈 것입니다.