这节讲一下Razor页面。
首先要明确,Razor 不是一种编程语言。它是服务器端的标记语言,配合C#语言,就可以像PHP语言语言一样(但它们并不相同),处理HTML页面逻辑。它是Asp.NetCore Web开发中的一把利器,Razor页面本身是一个模块,就像一个WPF应用程序一样,一端负责逻辑,一端负责展现,你可以在VS启动界面直接新建RazorPage项目,但是在Asp.NetCore 框架中,微软将它融入了进来,作为HTML页面的渲染功能,可以直接使用。
作为渲染HTML页面的功能,Razor的基本语法是 @{多行C#代码} 或者 @单行C#代码,Razor文件的扩展名为.cshtml
在Asp.NetCore MVC 程序中,Razor页面承载了所有的View渲染,在Controller中,通过Action 中的View()方法将Action和其对应的Razor页面做绑定。那如何进行数据交互呢,有三种方法
ViewData["Data"] = 1; //使用键值对的形式 ViewBag.Data = 1; //使用动态属性的形式 ViewBag后直接点自定义属性名 return View(1); //使用传参的形式
下图一为对应的在Razor页面中数据渲染的方式,Model值就是View()方法传入的参数,这个参数是一个自定义类型,要在页面顶部先声明这个属性:@model 类型完整名
另一种很方便的渲染方式是超链接:
<a asp-action="index" asp-route-参数名="1" asp-controller="Home" >跳转</a>
这种标记方式叫做TagHelper默认是引用的,在_ViewImports.cshtml这个文件中可以看到,这个文件配置的是使用Razor页面一些必要的引用
注意,这种标记方式是GET类型,它解析后的链接为
http:--/Home/index?参数名=1,参数可以设置多个,根据自己的需求即可。
对于Razor页面相关,暂时先讲这些,后续在实例开发讲解中,会详细涉及...
个人公众号,获取最新文章可以关注一下