ASP.Net-Razor语法

一、什么是Razor

包含Razor语法的文件以.cshtml为文件扩展名,.cs文件熟悉C#的都知道是类文件,可以编译执行。cshtml就可以理解为包含可执行的C#代码的html文件。

为什么可以包含可执行代码呢?就是因为Razor语法。当请求某个页面时,服务器先检测页面是否包含Razor语法的代码,如果有就执行被标记的代码,转换为字符串呈现在html中。最后返回的当然是纯html页面。

Razor是服务端语法,由服务端执行。

二、语法

1、当 @ 符号后跟 Razor 保留关键字时,它会转换为 Razor 特定标记。

2、若想使用@字符,则使用@@进行转义:

转义后:

 

3、主要语法

  • Razor 代码块包含在 @{ ... } 中
  • 内联表达式(变量和函数)以 @ 开头
  • 代码语句用分号结束
  • 变量使用 var 关键字声明
  • 字符串用引号括起来
  • C# 代码区分大小写

示例:

代码块:

@{

ViewBag.Title = "Browse all products (custom route name)";

string sName = "ZhangSan";

var Age = 18;

}

<h1>@ViewBag.Title</h1>

 

4、循环:for、foreach、while

<tbody>

@foreach (var product in Model)

{

<tr>

<td>@product.Name</td>

<td>@product.Category</td>

</tr>

}

</tbody>

5、条件判断:if、 else if 、esle、switch

三、完整示例

CSHTML代码:

@{

Layout = null;

}

@using MVCTestDemo.Models

@model MVCTestDemo.Models.UserInfo

<!DOCTYPE html>



<html>

<head>

<meta name="viewport" content="width=device-width" />

<title>用户信息</title>

</head>

<body>

<div>

@Model.Name<br />

@Model.Age.ToString()<br />

别名:@ViewBag.Name<br />

</div>

<input id="Button1" type="button" value="button" />

<table style="width:100%;">

@foreach (var item in Model.ListProdurct)

{

<tr>

<td>@item</td>

</tr>

}

</table>

<form action="/home/SaveUser" method="post">

<table>

<tr>

<td>姓名:</td>

<td><input type="text" id="TxtName" name="Name" value="" /></td>

<td>@Html.ValidationMessage("FirstName")</td>

</tr>

<tr>

<td>年龄:</td>

<td><input type="number" id="TxtAge" name="Age" value="" /></td>

<td>@Html.ValidationMessage("LastName")</td>

</tr>

<tr>

<td>密码:</td>

<td><input type="text" id="TxtPassWord" name="PassWord" value="" /></td>

<td>@Html.ValidationMessage("Salary")</td>

</tr>

<tr>

<td>

<input type="submit" name="BtnSave" value="保存" />

</td>

</tr>

</table>

</form>

</body>

</html>

HTML:

页面:

Razor关键字:https://docs.microsoft.com/zh-cn/aspnet/core/mvc/views/razor?view=aspnetcore-2.2#razor-reserved-keywords

参考地址:https://docs.microsoft.com/zh-cn/aspnet/core/mvc/views/razor?view=aspnetcore-2.2

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值