<记录> Razor引擎&视图布局
标识符 @
Razor支持HTML和C#代码混编,意味着可以在HTML中随意输出变量
基本使用方法
- 直接@后面跟变量(当遇到 HTML标签 、空格、换行符等特殊符号时 便认为@之后到特殊符号前为变量名,特殊符号后的内容原样输出)
<p>my name is @ViewBag.name</p> my job is @ViewBag.job
以上代码输出了 ViewBag.name 和ViewBag.job 的值
- @后面跟大括号(代码段声明,代码段中代码全部当做C#代码 ,但是HTML标签会原样输出 ,输出变量同样适用@)
@{
List<Employee> employees = new List<Employee>();
for (int i = ; i < ; i++)
{
Employee employee = new Employee();
employee.Name = "李二狗" + i;
employee.Age = + i;
employee.Job = (Career)(i/);
employees.Add(employee);
}
}
<table>
<tr>
<td>姓名</td>
<td>年龄</td>
<td>职业</td>
</tr>
@* 从这里开始声明C#代码段 *@
@foreach (Employee item in employees)
{
<tr>
@* 在C#代码段中 HTML标签会被原样输出(混编的好处) 输出变量需要在前面加上@ *@
<td>@item.Name</td>
<td>@item.Age</td>
<td>@item.Job.ToString()</td>
</tr>
}
</table>
注释
@*注释代码*@ 会被输出,查看源代码可以看到
<!--注释代码--> 不会输出
引入命名空间
@using 命名空间
视图布局
1. 布局页引入
- 一般放在 ~/View/Shared/布局页名称.cshtml
- 在需要布局页的页面首部引用布局页
@{
Layout = "~/Views/Shared/_Layout.cshtml";
}
- 可以在_ViewStart.cshtml中设置,这样所有的页面都会生效
2.布局页语法
定义:
<body>
<div>
@RenderSection("header")
<hr />
@RenderBody()
<hr />
@RenderSection("footer")
</div>
</body>
使用:
@section footer
{
<h1>here is footer for home page</h1>
} <h2>here is body for Home Page</h2> @section header
{
<h1>Here is header for Home page</h1>
}
header区域的内容会被输出到header footer区域内容会被输出到footer 无论顺序如何
3. 引入静态文件
.net MVC提供一套静态文件打包工具
需要在/App_Start/BundleConfig.cs中先定义,例如
//在视图中引入Content/css相当于引入 bootstrap.css 和 site.css
bundles.Add(new StyleBundle("~/Content/css").Include(
"~/Content/bootstrap.css",
"~/Content/site.css"));
视图中使用
@Styles.Render("~/content/home")
//引入css
@Scripts.Render("~//bundles/jquery")
//引入js
<记录> Razor引擎&视图布局的更多相关文章
- Razor引擎学习:RenderBody,RenderPage和RenderSection
ASP.NET MVC 3 已经正式发布了,现在估计许多人都在拼命学,我也不能例外,刚刚看到了一篇文章,介绍了三个非常有用的方法:RenderBody,RenderPage和RenderSection ...
- MVC 中 Razor引擎学习:RenderBody,RenderPage和RenderSection
RenderBody 在Razor引擎中没有了“母版页”,取而代之的是叫做“布局”的页面(_Layout.cshtml)放在了共享视图文件夹中.在这个页面中,会看到 标签里有这样一条语句: @Rend ...
- ASP.NET Core 入门教程 6、ASP.NET Core MVC 视图布局入门
一.前言 1.本教程主要内容 ASP.NET Core MVC (Razor)视图母版页教程 ASP.NET Core MVC (Razor)带有Section的视图母版页教程 ASP.NET Cor ...
- ASP.NET Core 入门笔记7,ASP.NET Core MVC 视图布局入门
一.前言 1.本教程主要内容 ASP.NET Core MVC (Razor)视图母版页教程 ASP.NET Core MVC (Razor)带有Section的视图母版页教程 ASP.NET Cor ...
- [asp.net mvc 奇淫巧技] 02 - 巧用Razor引擎在Action内生成Html代码
在web开发中经常会遇到在内部代码中获取Html,这些Html是需要和数据进行一起渲染.并不是直接把Html代码返回给客户端.这样的做法有很多应用场景,例如分页.Ajax一次性获取几段Html片段.生 ...
- Razor语法和Razor引擎大全
一.Razor语法 1.Razor的标识符 解释:@字符被定义为Razor服务器代码块的标识符,后面的表示是服务器代码了.web form中使用<%%>中写服务器代码一个道理.在vs工具里 ...
- 012. MVC5中Razor引擎使用模板页
1.文件→新建项目→框架选择.NET Framework 4.5 2.确定后选择ASP.NET 4.5 模板→MVC→为以下项添加文件夹和核心引用→MVC, 在vs 2015中默认就使用的Razor引 ...
- 关于Razor引擎的语法说明
1.在页面上显示字符串的值, 格式:a*@变量名 但@之前必须有空格,{.}等,使得a*不可以构成变量的字符.
- Razor引擎中的_ViewStart.cshtml
Startup Code是在所有View执行之前加载和执行的代码. 在Razor引擎中的_ViewStart.cshtml 就是装载这些“预执行代码”的文件,它有两个特点: 一.就是所有View执行之 ...
随机推荐
- 20165326 java实验五
实验五 网络编程与安全 一.实验内容 任务一: 结对实现中缀表达式转后缀表达式的功能 MyBC.java 结对实现从上面功能中获取的表达式中实现后缀表达式求值的功能,调用MyDC.java 这个代码在 ...
- left join
left join 是以A表为基础,A表即左表,B表即右表. 左表(A)的记录会全部显示,而右表(B)只会显示符合条件表达式的记录,如果在右表(B)中没有符合条件的记录,则记录不足的地方为NULL. ...
- mail语法
在Linux系统下mail命令的用法 在Linux系统下mail命令的测试 1. 最简单的一个例子: mail -s test admin@aispider.com 这条命令的结果是发一封标题为tes ...
- 剑指Offer 45. 扑克牌顺子 (其他)
题目描述 LL今天心情特别好,因为他去买了一副扑克牌,发现里面居然有2个大王,2个小王(一副牌原本是54张^_^)...他随机从中抽出了5张牌,想测测自己的手气,看看能不能抽到顺子,如果抽到的话,他决 ...
- Dilated Convolutions 空洞卷积
Dilated Convolutions,中文一般称为空洞卷积或者扩张卷积,是一种改进的图像卷积方法. 扩张卷积工作示意图如下: 图a是普通的卷积,感受野是3*3,相当于扩充dilation=0 图b ...
- yum 的 group的信息
查找 yum源中有哪些group及其详细信息 1:yum groupinfo '*' | less 2:yum groupinfo '*' | less +/sendmail-cf 将 sendmai ...
- 学c++需要先学c语言吗?
看你的需求,如果是底层开发,就必须学习C语言.如果只是应用开发,可以直接从C++开始学习.实际上这两个语言是平等的,只是在语法上C++尽量与C兼容,但仍然有很多不同的地方. 1) C++不是C的超集. ...
- Python重新安装pip
1). 下载pip安装工具: curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py 2).执行升级命令: python2.7 get-pip. ...
- Git图形化界面客户端
Git图形化界面客户端大汇总 文,还在不断更新,网上搜到的同名文章都是未经同意就从这里复制过去的) 一.TortoiseGit - The coolest Interface to Git Versi ...
- 什么是pytorch(4.数据集加载和处理)(翻译)
数据集加载和处理 这里主要涉及两个包:torchvision.datasets 和torch.utils.data.Dataset 和DataLoader torchvision.datasets是一 ...