View
Contents
_Layout.cshtml
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>@ViewBag.Title</title>
</head>
<body>
<div>
@RenderBody()
</div>
<hr/>
<div>
@RenderSection("bottom", required: false);
</div>
</body>
</html>
如果其他文件中需要设置bottom,
@section bottom
{
<div>
<a asp-action="Create">添加一个学生</a>
</div>
}
_ViewStart.cshtml
此文件一般放在Views文件夹下,如果放在Views/Home文件夹下,则只对Home文件夹中的视图起作用
@{
Layout="_Layout";
}
_ViewImports.cshmtl
增加taghelper或导入命名空间等,然后其他视图都不需要再添加命名空间或者taghelper了
@addTagHelper "*,Microsoft.AspNetCore.Mvc.TagHelpers"
PARTIAL VIEW
- 复用View代码
- @Html.Partial(“_PartialViewName”,data)(通常不用,用taghelper代替)
- 使用taghelper语法
<Partial name="_StudentRow" for="@Model.data" />
- 没有自己的Model
- 可以嵌套
VIEW COMPONENTS
- 可复用
- 独立组件
- 有独立的逻辑/数据
- 相当于迷你mvc请求
- 不依赖于父级View的数据
在项目中建立一个ViewComponents文件夹
- 建立一个名称以ViewComponent结尾的cs文件类
- 继承自ViewComponents
- 类中的方法返回IViewComponentResult类型
- ViewComponents视图一般放在Views/Shared/Components文件夹中
比如,在ViewComponents文件夹中有一个WelcomViewComponent类,则视图对应Views/Shared/Components/Welcom文件夹下的 - 其他视图调用使用的语法
@await Component.InvokeAsync(“Welcome”)
Filed under: ASP.NET Core,C#,编程 - @ 2022年4月9日 下午11:06