ASP.NET MVC

ASP.NET MVC与.NET Framework关系

.NET Framework是一个庞大的代码库,能为多种编程语言提供支持(如C#、VB、F#等)。同时.NET Framework 提供了多种技术框架,ASP.NET MVC是.NET Framework提供的众多技术框架中的一种,用于开发Web应用。

.NET Framework平台提供的技术框架如下:

  • Web应用:ASP.NET MVC、Web Form、ASP.NET网页。
  • 桌面应用:Win Form、WPF

补充:Web应用的三个框架并不相互排斥,同一个应用程序的组件可以使用不同框架开发,即多种框架开发同一个应用程序。

MVC架构

在"模型-视图-控制器(MVC)"模式中视图是嵌入了Razor标记的HTML文件,以.cshtml为后缀。视图文件存放在Views目录下,Views文件夹与Controller文件夹处于同一层级,并且Views文件夹下的文件与Controllers文件内的文件有很强的对应关系。

  • Controllers下的.cs文件忽略后缀,与Views文件夹下的目录保持同名。如下图所示:
  • .cs文件中的方法名与Views文件夹下对应目录中的.cshtml文件同名。
cs 复制代码
public class GoodsController : Controller
{
    public ActionResult ShowGoodsIndex(string GoodsId)
    {
        return View();
    }
}

ASP.NET MVC框架使用了约定大于配置的思想,按照框架约定的结构组织文件,浏览器请求某个Controller方法时,该方法默认返回与方法同名的.cshtml文件,浏览器接收.cshtml并渲染页面。

Views文件夹下的其他文件

1、Views/Shared/_Layout.cshtml

_Layout.cshtml是MVC框架默认的布局文件,在创建项目的时候会自动生成一个模板,该模板的布局效果如下:

想在某页面上应用该布局,找到对应的.cshtml文件,在文件最上方添加以下Razor标记:

html 复制代码
@{
    Layout = "_Layout";
}

默认情况下布局文件都含有 @RenderBody() 方法,该方法所在的位置就是布局中展示视图的位置,默认在Content标签块中。

2、Views/_ViewStart.cshtml

_ViewStart.cshtml是一个全局的布局文件,程序中每个.cshtml页面都会默认使用_ViewStart提供的布局。在_ViewStart.cshtml文件中引入其他布局,可以实现布局管理。以下代码表示项目中所有页面都使用_Layout布局,若有其他布局文件可以在此切换。

补充微软官方文档:Views in ASP.NET Core MVC | Microsoft Learn

相关推荐
William_cl13 小时前
【CSDN 专栏】ASP.NET Controller 过滤器详解:ActionFilter(Action 前后逻辑)从入门到避坑
后端·asp.net
询问QQ6882388615 小时前
JAVA智能配电房管理系统源码带数据字典及完整文档JAVA智能配电房管理系统源码带数据字典及完整文档
asp.net
William_cl17 小时前
【CSDN 专栏】ASP.NET Controller 过滤器详解:AuthorizationFilter(权限验证)从入门到避坑
后端·asp.net
子春一17 小时前
Flutter 架构演进实战:从 MVC 到 Clean Architecture + Modular,打造可维护、可测试、可扩展的企业级应用
flutter·架构·mvc
一水鉴天1 天前
专题讨论 类型理论和范畴理论之间的关系 之2 整体设计中的“闭” 解题和“位”问题 (ima.copilot)
线性代数·矩阵·mvc
咖丨喱2 天前
【对端发送的invitation req中channel list和operating channel的operating class不对应】
数据结构·list·asp.net
青衫码上行2 天前
【JavaWeb学习 | 第18篇】Servlet与MVC
java·学习·servlet·mvc
咖丨喱2 天前
【miracast连接优化】
后端·asp.net
咖丨喱2 天前
【修复miracast连接兼容性问题,优化信道协商流程】
服务器·后端·asp.net
咖丨喱2 天前
【修复miracast协商失败问题】
服务器·数据库·asp.net