【发布时间】:2019-07-24 21:05:30
【问题描述】:
我正在考虑在 ASP.NET Core MVC 应用中组织代码的最佳实践。我有两种类型的用户,医生和护士,最好将我的所有医生和护士控制器/视图组织在控制器/视图文件夹中自己的医生和护士子文件夹中?
控制器:
- Controllers/Doctors/HomeController.cs
- Controllers/Nurses/HomeController.cs
观看次数:
- Views/Doctors/Home/Index.cshtml 和其他查看文件
- Views/Nurses/Home/Index.cshtml 和其他查看文件
这是因为在每个 Doctors/Nurses 子文件夹级别,我都希望拥有自己的共享文件夹来存放 _viewstart 文件。
- 对于这种情况有更好的最佳做法吗?
- 另外,在我的控制器中,我如何进入子文件夹级别 查看文件? 我发现的唯一方法是明确指定它们:
public string Index()
{
return View("~/Views/Doctors/Home/Index.cshtml");
}
- 如果我希望我的默认路由转到 Doctors/HomeController/Index 页面是我指定默认值的方式 在我的 startup.cs 文件中路由。它似乎不起作用。
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "Doctors/{controller=Home}/{action=Index}/{id?}");
});
- 最后,正如我所提到的,我想要一个不同的
_ViewStart.cshtml用于每个子文件夹。这行得通吗/可以接受吗?
【问题讨论】:
-
我还没有机会使用 Core MVC 的东西。是否取消了区域的概念?
-
@CraigW。感谢您的建议,我将更新我的解决方案
标签: asp.net-core asp.net-core-mvc