ASP.net MVC路由:使用QueryStrings是一种很好的风格吗?

问题描述:

ASP.net MVC中的所有路线是否应遵循“仅限斜线,无QueryString”的理念?ASP.net MVC路由:使用QueryStrings是一种很好的风格吗?

我工作的一个Wiki软件,所以我有这样

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

等一切行动,但如果我想控制一个操作的行为是什么路线?有点像

/{pageTitle}?noredirect=true 

好还是认为不好的做法?如果是后者,是否有更好的选择?我应该创建单独的路线吗?

/{pageTitle}/NoRedirect 

改为?

我认为这是干净的,但话又说回来,我从来没有写过一个复杂的MVC应用程序,将需要通过选择的动作之前:)

我相信有没有明确的答案。

但对我来说,在URL的左边部分只有控制器&动作相关的部分,并且在QueryString中具有“可选”参数感觉更自然。

虽然很明显,

  • /{pageTitle}将显示文章,
  • /{pageTitle}/Edit将编辑条每页,
  • /{pageTitle}/History将显示条每页

/{pageTitle}/NoRedirect的历史并没有真正按门铃。
但是更明显的是/{pageTitle}?noredirect=true修改了该行为的行为。

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