文件夹中的 MVC 文件组织

Posted

技术标签:

【中文标题】文件夹中的 MVC 文件组织【英文标题】:MVC files organization in folders 【发布时间】:2013-11-19 12:43:06 【问题描述】:

我正在使用 ASP.NET MVC 构建一个 Web 应用程序,但我对文件组织有疑问。

所以,我想创建以下结构:

App_Something 控制器 视图 型号 区域 // 我认为区域是用于逻辑分离的。 私人 控制器 寄存器 ProfileController.cs 用户控制器.cs 其他文件夹 子文件夹 其他控制器.cs 视图 寄存器 简介 索引.cshtml 创建.cshtml 编辑.cshtml 删除.cshtml 用户 索引.cshtml 创建.cshtml 编辑.cshtml 删除.cshtml 其他文件夹 子文件夹 其他 索引.cshtml 创建.cshtml 编辑.cshtml 删除.cshtml 型号

所以,我想将我的项目文件分成不同的文件夹,但是当我这样做时,viewEngine 找不到我的视图。

首先...我可以像上面那样分离我的项目吗?它,好吗?!

现在,这是我的代码: 为Registers文件夹的控制器动作添加路由

    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 无法在文件夹中找到视图。

我需要创建一个包含视图位置的自定义 viewEngine 文件吗?

【问题讨论】:

【参考方案1】:

您可以这样做,但您必须使用

进行渲染

Html.Partial 或 Html.RenderPartial 视图路径 - 当前位置。

基本结构是

区域 管理员 控制器 用户控制器 查看次数 用户 Index.cshtml

Html.Partial 和 Html.RenderPartial 的区别看here

【讨论】:

这不是我的情况...我只想知道如何使用文件夹分隔我的项目,我需要创建一个自定义 viewEngine 文件来更改视图位置??? 我真的不知道该怎么做。您可以有双视图,在正确位置有 1 个视图,以便在您的自定义文件夹中为每个视图呈现视图,但这很糟糕。 我的朋友告诉我这是不切实际的。顺便说一句,它的组织过度了。

以上是关于文件夹中的 MVC 文件组织的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Appcelerator Titanium 项目中组织 JS 文件

spring mvc mybatis 整合用配置web.xml文件吗

组织复杂 iPhone 项目文件结构的最佳方式?

如何修改 ASP.NET MVC 静态文件根目录

参考视图文件夹中的 JavaScript 文件 - MVC 5

Visual Studio - 如何将 MVC 项目中的文件/文件夹标记为不发布?