【发布时间】:2012-10-15 02:30:24
【问题描述】:
我在查看一些示例代码时看到了这样的内容:
@(Html.DataList<ProductOverviewModel>(Model, 4,
@<div class="item-box">
<div class="item">
<div class="picture">
<a href="@Url.RouteUrl("Product", new { productId = item.Id, SeName = item.SeName })" title="@item.DefaultPictureModel.Title">
<img alt="@item.DefaultPictureModel.AlternateText" src="@item.DefaultPictureModel.ImageUrl" title="@item.DefaultPictureModel.Title" /></a>
</div>
<div class="product-title">
<a href="@Url.RouteUrl("Product", new { productId = item.Id, SeName = item.SeName })" title="@item.DefaultPictureModel.Title">
@item.Name</a>
</div>
</div>
</div>
))
所以基本上有一个DataList 辅助方法,其签名是这样的:
public static IHtmlString DataList<T>(this HtmlHelper helper, IEnumerable<T> items, int columns, Func<T, HelperResult> template) where T : class
他们将以下部分传递为Func<T,HelperResult> template,并且效果很好:
@<div class="item-box">
<div class="item">
<div class="picture">
<a href="@Url.RouteUrl("Product", new { productId = item.Id, SeName = item.SeName })" title="@item.DefaultPictureModel.Title">
<img alt="@item.DefaultPictureModel.AlternateText" src="@item.DefaultPictureModel.ImageUrl" title="@item.DefaultPictureModel.Title" /></a>
</div>
<div class="product-title">
<a href="@Url.RouteUrl("Product", new { productId = item.Id, SeName = item.SeName })" title="@item.DefaultPictureModel.Title">
@item.Name</a>
</div>
</div>
</div>
这是什么规则,怎么可能?
【问题讨论】:
标签: c# .net asp.net-mvc asp.net-mvc-3 razor