ASP.NET MVC 3 Razor 中的 @helper 特性的使用例子
2012-03-19 18:05 音乐让我说 阅读(450) 评论(0) 编辑 收藏 举报参考:http://kb.cnblogs.com/page/102191/
首先定义一个 Product 类。
public class Product
{
public Guid Id { get; set; }
public string Name { get; set; }
public decimal Price { get; set; }
}
然后在 web.config 中添加一个命名空间 <add namespace="DearBruce.MvcRazorFunctionHelper.WebUI.Models"/>
然后在项目中新增一个文件夹,命名为 App_Code ,命名为 Common.cshtml,代码如下:
@using DearBruce.MvcRazorFunctionHelper.WebUI.Models
@helper DisplayPrice(decimal price)
{
if(price == 0m)
{
<span>免费!</span>
}
else
{
@string.Format("{0:c2}", price)
}
}
@helper RepeateProduct(IEnumerable<Product> source)
{
<ul>
@foreach (var item in source)
{
<li>
商品ID:@item.Id <br />
商品名:@item.Name <br />
商品价格:@DisplayPrice(item.Price)
</li>
}
</ul>
}
编译时,Common.cshtml 会被编译为一个叫 Common 的类,这个类继承自 System.Web.WebPages.HelperPage,路径一般在:C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\
Index.cshtml 代码如下:
@{
ViewBag.Title = "主页";
}
<h2>@ViewBag.Message</h2>
<p>
若要了解有关 ASP.NET MVC 的更多信息,请访问 <a href="http://asp.net/mvc" title="ASP.NET MVC 网站">http://asp.net/mvc</a>。
</p>
@{
Product[] products = new Product[]
{
new Product(){ Id = Guid.NewGuid(), Name = "娃哈哈", Price = 0m },
new Product(){ Id = Guid.NewGuid(), Name = "蒙牛", Price = 10m },
new Product(){ Id = Guid.NewGuid(), Name = "伊利", Price = 20m },
};
@Common.RepeateProduct(products)
}
Demo 下载:https://files.cnblogs.com/Music/AboutMvcRazorHelperFeature.rar
谢谢浏览!
作者:音乐让我说(音乐让我说 - 博客园)
出处:http://music.cnblogs.com/
文章版权归本人所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。