我正在研究ASP.NET MVC 4
应用程序。我有这个应用程序的两个逻辑部分 - 用户部分和管理面板。我在开发项目方面根本没有太多经验,所以当我考虑如何构建我的代码时,我决定不使用区域,因为它们将是我必须学习的许多其他东西之外的另一件事,但现在我面临一个问题。
当具有权限的用户进入www.mysite.net/admin
时,我希望拥有像www.mysite.net/admin/Documents
这样的 url,这已经导致了一个问题 - 我AdminController
充满了方法,即使这样我甚至没有解决URL
问题,因为www.mysite.net/Admin/Documents
很干净,但是如果我想创建新的Document
,因为我将所有 CRUD 方法都保留在同一AdminController
我不能简单地Create
方法但充其量DocumentCreate
这会导致像www.mysite.com/Admin/DocumentCreate
这样的URL
,而不是像www.mysite.com/Admin/Document/Create
这样的用户(和我(清楚的东西,而且 - 将所有内容保存在一个控制器中已经使维护变得非常困难,我只需要添加更多方法。
我如何两者 - 分离逻辑而不是将所有内容保留在AdminController
中并提供像上面那样的干净URLs
- www.mysite.com/Admin/Document/Create
您可以使用" ActionName
"属性并在您的方法中使用它来更改干净 URL 的操作方法的名称前任。
[ActionName("Create")]
public ActionResult DocumentCreate()
{
}
分离逻辑和可维护性的另一种选择,Area 是最佳选择。
最好的,也可能是最简单的方法,是使用区域。 它们并不难学,所以你应该能够立即学会它。
解决方案是创建区域。
右键单击项目 =>添加新项目 => 区域 .. 给它命名 管理员
这意味着您所有与管理相关的代码都位于此区域内。
转到控制器文件夹并创建名为文档的控制器,然后在名为"创建"的"创建操作"方法中,"创建"和其他...
访问网址 : www.mysite.com/Admin/Document/Create
http://www.codeproject.com/Tips/601504/Using-areas-in-ASP-NET-MVC-to-organize-a-project