我正在处理我的第一个真正的ASP.NET MVC项目,我需要一些建议。ASP.NET MVC路由 - 通过重定向保持参数
所以,假设我的应用程序有一个管理部分,您可以在其中创建每个部门中的公司,部门和用户。
公司 - >系 - >用户
现在我的网址正在寻找这样的:
Companies/Index
Departments/Index?companyId=1
Users/Index?companyId=1&departmentId=2
它变得复杂,因为如果我必须从用户列表重定向到部门列表,我必须做一些事情,如:
return RedirectToAction("Index", "Departments", new { companyId = model.CompanyId });
当事情变得更加嵌套,我不得不开始传递更多参数,使控制器动作有上下文他们需要。
有没有更好的方法来构建具有这种“嵌套”功能的控制器的路由?他们应该看起来更像: 公司/ {id} /部门/ {id} /用户?
是否有一篇很好的文章,有人可以联系我,可以提供一些最佳实践的建议,当涉及到这一点?
感谢您的回复。我知道我可以像这样手动设置路由,但我仍然需要将多个路由参数传递给新控制器。例如,我上传了一张位于“公司/ 4 /部门/ 16 /用户/ 26 /照片/新”的用户的照片,并且在该操作中我需要重新导向到照片列表,这使我通过companyId,departmentId和userId手动添加到新路线。这看起来像很多手动编码,有很大的出错空间。我基本上要问的是,它就是这样,还是有更好的模式可以遵循?谢谢! – jdraper3
@ jdraper3 - 你是否优雅地解决了这个问题?我目前面临着同样的情况,在互联网上找不到很多帮助。任何提示您的决议将不胜感激。谢谢 – Luc
嘿,我不再做很多直MVC了,现在大多使用角度,但是当时并没有真正的魔术解决方案。将值存储在模型中并将它们传递给RedirectToAction方法就好了,我肯定会推翻它。 – jdraper3