我正在使用 ASP.NET MVC 构建 Web 应用程序,我对文件组织有疑问。
所以,我想创建以下结构:
App_Something
Controller
观看次数
型号
Areas//我认为area是为了逻辑分离。
私有(private)
Controller
寄存器
配置文件 Controller .cs
用户 Controller .cs
其他文件夹
子文件夹
其他 Controller .cs
观看次数
寄存器
简介
索引.cshtml
创建.cshtml
编辑.cshtml
删除.cshtml
用户
索引.cshtml
创建.cshtml
编辑.cshtml
删除.cshtml
其他文件夹
子文件夹
其他
索引.cshtml
创建.cshtml
编辑.cshtml
删除.cshtml
型号
所以,我想将我的项目文件分成不同的文件夹,但是当我这样做时,viewEngine 找不到我的 View 。
首先...我可以像上面那样分离我的项目吗?它,好吗?!
现在,这是我的代码:
为Registers文件夹的 Controller Action 添加路由
public override void RegisterArea(AreaRegistrationContext context)
{
context.MapRoute
(
"Private_Registers",
"Private/Registers/{controller}/{action}/{id}",
new { action = "Index", id = UrlParameter.Optional }
);
context.MapRoute
(
"Private_default",
"Private/{controller}/{action}/{id}",
new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
但是,当我运行它时...ViewEngine 无法在文件夹中找到 View 。
我需要创建一个包含 View 位置的自定义 viewEngine 文件吗?
最佳答案
你可以这样做,但你必须用
渲染Html.Partial 或 Html.RenderPartial View 路径 - 当前位置。
基本结构是
- 领域
- 管理员
- Controller
- 用户 Controller
- 观点
- 用户
- Index.cshtml
- 用户
- Controller
- 管理员
Html.Partial 和Html.RenderPartial 的区别看here
关于c# - 文件夹中的 MVC 文件组织,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20071898/