让控制器的代码在页面上使用---- Razor
在学习使用MVC框架时,都知道控制器的编程语言和视图编程语言是不一样的。比如现在学习的MVC中,控制器使用的是C#编程语言,视图使用的是JavaScript轻量级的编程语言。若想在视图的JavaScript编程语言中使用C#,使用Razor标记语法是其中选择之一。哪什么是Razor标记语法?
Razor 是一种标记语法,可以让您将基于服务器的代码(Visual
Basic 和 C#)嵌入到网页中。基于服务器的代码可以在网页传送给浏览器时,创建动态 Web 内容。当一个网页被请求时,服务器在返回页面给浏览器之前先执行页面中的基于服务器的代码。通过服务器的运行,代码能执行复杂的任务,比如进入数据库。Razor 是基于 ASP.NET 的,是为创建 Web 应用程序而设计的。它具有传统 ASP.NET 的功能,但更容易使用并且更容易学习。------------本段解释来自W3School
所谓的服务器的代码,说通俗点就是控制器的代码。一般会与session机制一起使用。Razor使用起来并不难,要用到Razor的话只需要在服务器中把代码复制过来,在前面再加一个@符号。
C# 的主要 Razor 语法规则
Razor 代码封装于 @{
… } 中
行内表达式(变量和函数)以 @ 开头
代码语句以分号结尾
字符串由引号包围
C# 代码对大小写敏感
C# 文件的扩展名是
.cshtml
比如,在某个下拉框的作用是选择天数。
一般碰到下来框绑定值,都是一张数据表的数据。一般要绑定一个月的某一天,就要在数据表里新增上三十一条数据。非常麻烦吧,而现在用了Razor就简单了许多,在视图的代码如下:
<div class="col-4 col-lg-5">
<select class="form-control" name="New" id="selectNew">
@for (int i = 1; i < 32;
i++)
{
<option value="@i">@i</option>
}
</select>
既不要在数据库使用一张数据表,又不用在控制器写查询下拉框的的代码。使用Razor大大的减少了打代码的时间,也使代码量简洁很多。
Razor如何在行内表达式(变量和函数)?
同样,要用到Razor都要用@符号声明。如下图:
在登录网页中,它会自动识别您的身份,登录时间,登录时长。代码如下:
<p class="text-white"><span>欢迎您:</span>@ViewBag.userName</p>
<i class="fasfa-fw fa-clock"></i> 登录时间:@ViewBag.serverTime
搭建页面的代码就省略掉吧。