ASP.NET MVC3引入了一个新的View引擎:Razor,就是使用@符号代替原来aspx viewyinqing的<% %>。下面是一些语法说明:
1、直接引用.NET Framework的类型,比如:@DateTime.Now.ToString()
2、如果是语句块,那么可以直接使用@{},将一些if、for放入大括号中
比如:
@{
if(xxx){}
int a=5;
while(a>0){ @:局部变量=@a;a--}
//此部分是注释,不会显示在页面中
Response.Write("<script type='text/javascript'>alert('输出!!')</script>");
}
3、如果是纯文本块(不是放在html标记内的文本),可以使用@:后面接纯文本,那么纯文本原样输出。
例如:
@while (@Model.Price > 0)
{
@:单价:@Model.Price
@:物美价廉,你还在等什么,心动不如行动,马上订购吧。<br />
@:单击<a href="#">订购</a>,笔记本拿回家。
break;
}
另外也可以使用<text></text>标记
例如:
@{
while(@Model.Price >0)
{
<text>
单价:@Model.Price
物美价廉,你还在等什么,心动不如行动,马上订购吧。<br />
单击<a href="#">订购</a>,笔记本拿回家。
</text>
break;//注意不要放在<text></text>中
}
}
4、借助于ViewBag动态类型,比如:
在Controller的Action Method中,加入如下代码:
public ActionResult Index()
{
#region 构造器
Product myProduct = new Product
{
ProductID = 1,
Name = "电脑",
Description = "笔记本电脑",
Price = 4500.00m,
Category = "电子产品"
};
#endregion
ViewBag.ShowTime = DateTime.Now.ToShortDateString();
return View(myProduct);
}
然后再view里面这样调用:
<p style="color:red;">
@ViewBag.ShowTime
</p>