Razor使用方法
1、Razor注释:@* *@的格式
2、Razor通过4种标记方式来确定指定区域的代码是服务器端代码,即在html中插入C#代码:
- 行内(Inline)标记,比如:
@ViewBag.Name
- 单行(Single Line)标记,比如:
@{ var name = "Slark";} @{ Response.Write("Single Line : Name is" + name + "<br />");}
- 多行(Multi-Line)标记,比如:
@{ var name="Slack"; Response.Write("Multi-Line : Age is " + age + "<br />"); }
- Keyword(){}特殊语法,在遇到如if、for、while等具有"keyword(){}"形式的C#代码结构时,Razor标记可以写成"@keyword(){}"这样的特殊形式。
这个不是强制性的,比如:
@if (1 > 2) { Response.Write("1 > 2 <br />"); } else { Response.Write("1 <= 2 <br />"); } @for (int i = 0; i < 3; i++) { Response.Write(i + " <br />"); }
3、在Razor标记中写入文本,即在服务器代码里嵌入html代码,一共三种方法:
- 在Razor标记的代码中如果有成对的html标记,则这个标记及其内容会被当作普通文本输出。如上面的 <p>var name2 = "Slark";</p>
- 在Razor标记的代码中如果有"@:",则其后的一行代码会被当作普通文本输出。如上面的 @:var name3 = "Slark";<br />
- 在Razor标记的代码中如果有<text>...</text>标记,则其内容会被当作普通文本输出。如上面的 <text> var name4 = "Slark";<br /> var name5 = "Slark"; </text>
比如:
@{ <p>var name2 = "Slark";</p> @:var name3 = "Slark";<br /> <text> var name4 = "Slark";<br /> var name5 = "Slark"; </text> }
原文:http://www.cnblogs.com/slark/p/mvc5-ef6-get-started-razor.html
转载于:https://www.cnblogs.com/tider1999/p/4162894.html
4、结合wdate使用
//WdatePicker控件时间限制 @Html.TextBoxFor(model => model.BookingStart, new { @onClick = "WdatePicker({dateFmt:'HH:mm',maxDate: '#F{$dp.$D(\\'BookingEnd\\')}'})", @style = "width:105px" })
5、Razor可以直接在页面中读取到后台传过来的Model值,在一个详情页面,适合用这种写法,只是一个字符串的显示而已。
<tr> <th> @Html.LabelFor(model => model.Operator): </th> <td> @Model.Operator </td> </tr>
6、页面标签只读
@Html.TextBoxFor(model => model.Tag, new { @readonly = "readonly" })