Razor引擎能够解析 .cshtml文件中编写的C#脚本,APS.NET Core内置了对Razor的支持,所以使用Razor时,不需要添加任何NuGet包,只需在 .cshtml文件中使用Razor时,在前面加上 @ 符号。例如
在*.cshtml文件中,也可以使用C#流程控制语句或语句块,如
在MVC设计模式中, @model 指令用来定义Controller传过来的数据类型,并将其填入View的Model属性中,这样View就可获取Controller传过来的模型数据。例如:
@inject 指令用来从DI容器中获取服务
@functions 指令可以在cshtml文件中定义方法
在MVC中,Controller和View是基于约定的,Controller的Action使用View()方法返回结果页面时,约定的查找cshtml文件的顺序为:
Views/{ControllerName}/{ActionName}.cshtml
Views/Shared/{ActionName}.cshtml
比如:url地址为 http://localhost:5001/home/index 对应的Controller为HomeController,Action为Index()
此时,MVC框架先去查找Views/Home/Index.cshtml 文件,如果没有,再找 Views/Shared/Index.cshtml 文件。
Razor中的Layout起到页面整体框架的作用(母版页),Layout文件放在Views/Shared/_Layout.cshtml中,要套用该Layout,需要在Razor页面中添加程序块
_ViewImports.cshtml 文件保存通用的@using语句
_ViewStart.cshtml 文件指定Layout模板
MVC2,MVC3,MVC4和MVC5的不同:
1、查看引擎:
视图引擎负责将HTML代码从视图呈现到浏览器。
MVC 2仅使用Web窗体视图引擎( .aspx)作为默认视图引擎。
MVC3使用剃刀视图引擎( .c#和的cshtml。vbhtml (用于Visual Basic )和Web窗体视图引擎( .阿斯佩克斯)。
MVC4还使用剃刀视图引擎作为默认视图引擎,具有一些新功能,如条件属性和“波形斜线”。
2、图表、网络网格、加密、网络映像、网络邮件控制:
所有这些在MVC2中都不可用。
所有这些都在MVC3和MVC4中提供。
3、合成语法:
Web窗体视图引擎语法: <% = HTML代码%>在MVC2中。
(剃刀语法)剃刀视图引擎语法: @MVC3中的Html代码。
MVC4具有相同的剃刀视图引擎语法,但添加了新功能,如条件属性和“波形斜线”,即URL解析。
4、可用于在视图和控制器之间共享数据的对象:
模板数据、视图数据在MVC2中可用。
MVC3中提供了临时数据、视图数据、视图包。
MVC4中提供了临时数据、视图数据、视图包。
>TempData用于当前和后续请求,即当您知道要重定向的下一个视图时。
>在ViewData中,可以通过字符串作为键访问对象字典。
>在c#4.0中添加了ViewBag,它使用允许动态添加对象属性的动态功能。我们可以说ViewBag = ViewData +ViewData字典周围的动态特性。
5、jquery支持:
jquery支持在MVC2中很好。
在MVC3中,jquery支持更好。
MVC4为Jquery (如Jquery Mobile)提供了更好的支持。
6、验证:
MVC2中有客户端验证和异步控制器。
MVC3中包含不引人注目的Ajax和客户端验证、Jquery验证和JSON绑定支持。
客户端验证、Jquery验证和对MVC4异步方法的增强支持。
7、项目模板:
MVC3支持由HTML5启用的项目模板。
MVC4支持移动应用程序的许多新功能,还提供了新的移动项目模板和更新和现代化的默认模板。
8、ASP.NET MVC 5中的新功能:
(1)一个ASP网;
(2)ASP净身份;
(3)MVC模板中的引导程序;
(4)认证过滤器;
(5)过滤器覆盖。
MVC简介:
MVC,全名是Model View Controller,是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller),具有耦合性低、重用性高、生命周期成本低等优点。
MVC用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。
框架内容:
MVC是一个框架模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。最典型的MVC就是JSP+servlet+javabean的模式。
1. 你可以把一个DataAnnotation你的模型类。像这样->[的DisplayFormat(的DataFormatString=“{0:D}”,ApplyFormatInEditMode=真)]。2. 创建你的模型的新属性,返回格式化的日期。
public class MyModel
{
// Other fields including your current StartDate
public class StartDateFormatted
{
get
{
return StartDate.ToString("hh:mm tt"),
CultureInfo.CreateSpecificCulture("hu-HU"))
}
}
}
在你的razor标记该属性
@Html.DisplayFor(model =>model.StartDateFormatted)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)