ASP.NET MVC Razor视图引擎攻略(5)
打印所有产品名称,并且点击产品名称时,弹出产品价格。
HomeController.Index()方法如下:
View Code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using JohnConnor.Data;
namespace JohnConnor.Web.Controllers
{
public class HomeController : Controller
{
public ActionResult Index()
{
var products = new List<Product>()
{
new Product{ Name="钢笔", Price=11.55M},
new Product{ Name="铅笔", Price=2.17M},
new Product{ Name="圆珠笔", Price=5.98M},
};
return View(products);
}
}
}
我们来改一下Index视图演示一下Razor的简单应用。
@using JohnConnor.Data;
@model List<Product>
@{
ViewBag.Title = "主页";//母版中ViewBag.Title用于绑定Title标签,这里进行赋值。
}
<h2>Razor</h2>
@foreach (var product in Model)
{
//遍历所有的产品
<input type="button" name="@product.Name" value="@product.Name" onclick="alert(@product.Price)" />
}
在一般视图中,首先声明视图模型,即Action返回的ViewResult对象的类型<也可以不声明,如果有返回对象建议声明>。
这里的视图模型是一个List<Product>集合,因为Product位于using JohnConnor.Data命名空间,所以先添加了引用。
在母版中ViewBag.Title用于绑定Title标签,在一般视图中就可以进行赋值来绑定页面的Title 。
如果你不想使用母版,就在代码块中添加"Layout = null;"。
最后是就是一些数据绑定,或者是逻辑的处理。
Razor的基本内容大概就讲这些了,当然它还有很丰富的底蕴,需要在实际的运用过程中去学习,一篇短文是无法涵盖所有信息的。
最后提一点,Razor暂时没有设计视图,这是比较悲摧的一点。相信之后会有的。如果对Razor的使用有任何问题,可以在此提出,能力范围内的问题我都可以提供帮助。
希望大家多多支持。
摘自 菊花台泡茶
相关新闻>>
- 发表评论
-
- 最新评论 更多>>