繁体   English   中英

将MVC控制器映射到视图的最佳实践?

[英]Best Practices for mapping MVC Controllers to Views?

将控制器映射到视图时的最佳实践是什么? 例如,说URL mysite.com/login和mysite.com/register ...我可以将LoginController和RegisterController映射到Login / Index.aspx和Register / Index.aspx视图。 另外,我的HomeController可以处理这两者,并将它们映射到Home / Login.aspx和Home / Register.aspx。

这个比那个好吗?

登录和注册似乎是可以放在同一控制器中的相关操作。 也许是帐户控制器?

就更好而言,我相信维护一个处理类似或相关动作的控制器比拥有多个控制器要容易得多。 我不确定哪种方法更适合作为“正确”的方法。 也许只是个人喜好?

在这种特殊情况下,我建议两个不同的控制器和路由,因为登录和注册是单独的问题。

您的网址还可以从更具可读性的内容中受益。 IE-mysite.com/login/和mysite.com/register/

上周我也经历了这个难题。 我最终将PUBLIC视图(如“登录”,“注册”和“购物车”)放置在Home控制器下,并将PRIVATE视图(如“我的资料”,“愿望清单”,“订单历史记录”,“通讯录”等)放置在Account控制器下。

为什么要在只处理每个人都可以看到的公共页面的同一控制器中混合仅用于经过身份验证的用户的视图?

这是我的逻辑。

这是一个选择的问题。 有些人反对在控制器中添加大量代码。 他们要求您保持简约。 添加新控制器不会以任何方式影响您的应用程序。 如果您有多个操作或拥有新的控制器,则不会影响性能。 这是我要遵循的内容:如果您对每个页面都有不同的操作(例如,登录和注册页面),然后将它们放在单独的控制器中,将它们组合在一起。 说登录,您可以执行以下操作verifyInput,forgotPassword,login,correctLogin等,以及注册verifyInput,regenerateCaptcha,createAccount,sendMail等。

在这种情况下,您肯定应该有两个控制器

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM