-
MVC目录结构概述
文件夹或文件 |
描述 |
备注 |
/App_Data |
此文件夹用于存放私有数据,如XML,或者SQL Server Express\SQLite的数据库文件,或其他基于文件的存储库 |
IIS将不对此文件夹的内容进行服务,也就是说无法通过Web请求获取该目录的文件 |
/App_Start |
此文件夹包含项目的一些核心配置设置,包括路由、过滤器、捆绑包、API等 |
|
/Areas |
程序中区域的存放文件夹。可以把一个大型应用程序还分为一个个的小片段。 |
|
/bin |
MVC程序编译好的程序集和任何被引用的且不包含在GAC全局程序集缓存中的引用程序集的存放位置 |
IIS不对此目录进行服务。在解决方案管理器中看不到bin文件夹,需要显示所有文件才能看到。不需要把这个文件夹存储在源代码控制器(TFS)中。 |
/Content |
用于放置MVC的静态内容,如CSS或图片等 |
这是一个约定但是不是必须的。可以把静态文件放置在任意位置,只要你喜欢。 |
/Controller |
用于放置控制器的文件夹 |
这是一个约定。可以把控制器类放置在任何位置,因为他们都会被编译到同一个程序集中。 |
/Models |
用于放置视图模型或者域模型类,域模型最好放置在一个专用的程序集中,而把视图模型放置在该文件夹中。 |
这是一个约定,可以在任意位置上定义模型类。 |
/Scripts |
用于存放Javascript库 |
这是一个约定,可以存放在任意位置上。 |
/Views |
用于存放视图和部分视图,通常他们关联的控制器命名的文件夹进行分组 |
/View/Web.config文件阻止IIS对这些目录内容进行服务。视图必须通过动作方法进行渲染。 |
/Views/Shared |
用于存放布局视图以及共享视图。 |
|
/Views/Web.config |
这不是应用程序的配置文件。它包含有使视图能够与Asp.NET进行工作、防止IIS调用视图所需要的配置,还默认导入了视图的命名空间。 |
|
/Global.asax |
这是全局ASP.NET应用程序类。他的后台代码类Global.asax.cs用于注册路由、WebAPI、捆绑包等配置。也涉及建立应用程序初始化、停机或出现未处理异常时需要运行的代码的地方。 |
|
/Web.config |
应用程序的配置文件 |
-
URL路由
路由系统通常有两个功能:
考察输入的URL,判断需要请求那个控制器和动作。
生成输出URL。
-
注册一个简单的路由,需要在RouteConfig中定义好路由,然后在Global.asax.cs类中注册。如下图:
-
路由配置详解。如下图:
-
使用属性路由
-
属性路由是MVC的一个重要补充,但是它违反了MVC的分离关注点原则。默认的情况下,属性路由是被禁用状态。
开启属性路由的方式如下:
-
使用Route属性标记对动作方法配置路由规则,如下图:
Route属性标记支持的参数如下表:
-
名称 |
描述 |
Name |
需要使用的路由配置的名称 |
Template |
定义一个模式,用于匹配以动作方法为目标的URL |
-
使用RoutePrefix属性注解定义控制器中所有路由的普通前缀,如图:
本博客Android APP 下载 |
![]() |
支持我们就给我们点打赏 |
![]() |
支付宝打赏 支付宝扫一扫二维码 |
![]() |
微信打赏 微信扫一扫二维码 |
![]() |
如果想下次快速找到我,记得点下面的关注哦!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
2016-09-12 适当使用enum做数据字典 ( .net c# winform csharp asp.net webform )
2016-09-12 winform ListView应用之分组、重绘图标、网格线 (c# .net winform)
2016-09-12 System.Drawing.Image在Save之后Type变了
2016-09-12 在网页中显示CHM (c# csharp .net asp.net winform)
2016-09-12 使用开源免费类库在.net中操作Excel
2016-09-12 c#.net 使用NPOI导入导出标准Excel (asp.net winform csharp)