ASP.NET MVC Razor视图引擎攻略(4)
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>@ViewBag.Title</title>
<link href="@Url.Content("~/Content/Site.css")" rel="stylesheet" type="text/css" />
<script src="@Url.Content("~/Scripts/jquery-1.5.1.min.js")" type="text/javascript"></script>
</head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<body>
<div class="page">
@Html.Partial("_HeaderPartial")<!--_HeaderPartial视图占位符-->
<div id="main">
@RenderBody()
</div>
@Html.Partial("_FooterPartial")<!--_FooterPartial视图占位符-->
</div>
</body>
</html>
这样,页面的布局是不是更清爽简洁了?如同一般视图,返回请求时会先加载母版页然后遇到占位符时加载相应的Partial视图,最后返回处理完成的静态页面。
三,Razor语法简介与应用
1.语法简介
如果我们希望在HTML代码中绑定数据,比如说我们有一个产品的对象Product,需要绑定产品的名称Product.Name,只需要在变量前面加"@"即可,
也可以使用"@(expression)"绑定一个表达式:
<p>@Product.Name</p>
<p>@(Product.Price*0.8)</p>
Razor中使用”@{code}“来标识一段C#代码,代码段可以出现在任何位置,并且支持与HTML混写:
@{
var product=new product();
product.Name="pen";
product.Price=1.00;
<p>@product.Name</p>
<p>@product.Price</p>
}
使用循环或条件语句时直接加"@"前缀,可以控制页面逻辑:
@foreach(var product in products)
{
<p>@item.Name</p>
}
Razor中注释是"@**@",即可以注释Html代码,也可以注释C#代码,在代码块中仍可使用C#的注释方式:
@{
var product=new product();
product.Name="pen";
//product.Price=1.00;
<p>@product.Name</p>
@*<p>@product.Price</p>*@
}
2.ASP.NET MVC3.0 Web中的应用
假设我们有一个Product类位于JohnConnor.Data命名空间下,有Name和Price两个属性,HomeController.Index()方法返回一个List<Product>对象给Index视图,
相关新闻>>
- 发表评论
-
- 最新评论 更多>>