我正在查看一些示例代码,看到了这样的内容:
基本上有一个 "DataList" 辅助方法,它的签名如下:
```
他们将以下部分传递为
这是什么规则?它怎么可能实现呢?
@(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" 辅助方法,它的签名如下:
```
DataList
```public static IHtmlString DataList<T>(this HtmlHelper helper, IEnumerable<T> items, int columns, Func<T, HelperResult> template) where T : class
他们将以下部分传递为
Func<T,HelperResult> 模板
,它完美地工作: @<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>
这是什么规则?它怎么可能实现呢?