深入了解cshtml
一、CSHTML简介
CSHTML即C# Razor语法的视图文件,是MVC(Model-View-Controller)开发模式中的视图层,结合了C#语法和HTML标签。在ASP.NET Core中,我们通常使用CSHTML来创建Web应用程序的用户界面。
与传统的ASP.NET Web Forms相比,ASP.NET Core使用CSHTML提供了更高效且更易于维护的视图层实现方式,同时还具有更好的扩展性和更强大的性能。
二、CSHTML语法
1、基本语法
@{ //C#语法 }
在一个CSHTML文件中,使用“@{}”包裹起来的部分表示C#代码片段,可以包含变量、循环、条件语句等。
2、输出语句
@{var name = "Alice";}欢迎 @name 光临!
使用“@”符号和变量名,可以在HTML中输出变量的值。
3、HTML辅助器
@Html.ActionLink("Link Text", "ActionName", "ControllerName")
ASP.NET Core中提供了一系列的HTML辅助器,用于简化Web应用程序开发中的常见任务,如生成HTML表单、链接等。
三、CSHTML与Model交互
1、视图模型
public class PersonViewModel { public string Name { get; set; } public int Age { get; set; } }
在MVC开发模式中,我们通常使用视图模型在视图和控制器之间传递数据。
2、传递数据到视图
public IActionResult Index() { var person = new PersonViewModel { Name = "Alice", Age = 25 }; return View(person); }
在控制器中,我们可以创建视图模型的实例,并将其传递给View()方法,将数据传递到视图中。
3、从视图中访问模型数据
@model PersonViewModel欢迎 @Model.Name 光临!
年龄:@Model.Age。
在CSHTML文件的开头使用“@model”指令指定视图使用的模型类,然后可以直接从视图中访问模型的属性。
四、布局视图
1、布局文件
@{ Layout = "_Layout"; }...
在MVC中,可以使用布局视图将常见的页面元素(如页眉、页脚)提取到单独的文件中,在多个视图页面中共享。
在每个视图文件中,可以通过修改@{ Layout = "_Layout" }语句来指定使用的布局文件名称。
2、布局文件中的区块
@RenderSection("sidebar", required: false)
鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com
图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!