2010-02-17 75 views
4

ASP.net MVC中的所有路線是否應遵循「僅限斜線,無QueryString」的理念?ASP.net MVC路由:使用QueryStrings是一種很好的風格嗎?

我工作的一個Wiki軟件,所以我有這樣

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

等一切行動,但如果我想控制一個操作的行爲是什麼路線?有點像

/{pageTitle}?noredirect=true 

好還是認爲不好的做法?如果是後者,是否有更好的選擇?我應該創建單獨的路線嗎?

/{pageTitle}/NoRedirect 

改爲?

我認爲這是乾淨的,但話又說回來,我從來沒有寫過一個複雜的MVC應用程序,將需要通過選擇的動作之前:)

回答

9

我相信有沒有明確的答案。

但對我來說,在URL的左邊部分只有控制器&動作相關的部分,並且在QueryString中具有「可選」參數感覺更自然。

雖然很明顯,

  • /{pageTitle}將顯示文章,
  • /{pageTitle}/Edit將編輯條每頁,
  • /{pageTitle}/History將顯示條每頁

/{pageTitle}/NoRedirect的歷史並沒有真正按門鈴。
但是更明顯的是/{pageTitle}?noredirect=true修改了該行爲的行爲。

所以我會用/{pageTitle}?noredirect=true你的情況。