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

相关推荐
qq_12498707532 天前
基于C#的贵州省黔北地区乡村避暑生活共享平台设计与实现(源码+论文+部署+安装)
c#·毕业设计·asp.net·生活
m0_748248024 天前
Spring MVC中@RequestMapping注解的全面解析
java·spring·mvc
Kay_Liang4 天前
Spring中@Controller与@RestController核心解析
java·开发语言·spring boot·后端·spring·mvc·注解
行思理4 天前
Spring MVC 注释新手教程
java·spring·mvc
William_cl4 天前
【ASP.NET MVC 进阶】DataAnnotations 特性验证全解析:从基础到避坑,让数据校验像 “安检“ 一样靠谱
后端·asp.net·mvc
William_cl4 天前
C# ASP.NET MVC Model 分类:数据传输对象(DTO)—— 跨层传数的 “精简快递“
c#·asp.net·mvc
元直数字电路验证8 天前
ASP.NET Core Web APP(MVC)开发中无法全局配置 NuGet 包,该怎么解?
前端·javascript·ui·docker·asp.net·.net
William_cl8 天前
拆解ASP.NET MVC 视图模型:为 View 量身定制的 “数据小票“
后端·asp.net·mvc
宝桥南山8 天前
.NET10 - 尝试一下Blazor Web Assembly Standalone App的fingerprint新特性
microsoft·微软·c#·asp.net·.net·.netcore
lang201509289 天前
Spring MVC配置全解析
java·spring·mvc