HtmlHelper之DataList实现
每个开发者都想在不同的开发环境下封装功能来实现代码重用和提高开发速度,在WebForm中提供各式各样的控件;但如果在纯aspx下进行HTML表现那又如何办呢,在这里就介绍通过代码来封装一个DataList的HtmlHelper对象来达到其目的;虽然没有象服务控件那样有设计支持,但巧用匿名函数也可以实现自定义模板功能;其使用编写代码量几乎同于服务器控件。
DataList的实现代码
Code
例程调用代码
<%
DataList<NorthWind.Entities.Files> list = new DataList<Files>();
list.DataSource = view.Files;
list.Columns = 4;
list.ItemBlock = delegate(DataListItemArgs<Files> e)
{
%>
<table style="border-style: dotted;border-width: 1px"><tr><td>
<img style=" height:150px;width:150px" src="FileLoad.aspx?id=<%=e.Source.ID %>" />
</td></tr>
<tr><td><%=e.Source.Description %></td></tr>
<tr><td><%=e.Source.CreateTime %></td></tr>
<tr><td><a href="javascript:if(confirm('是否要删除<%=e.Source.Description %>图片?')){document.location.href='FilesDelete.aspx?id=<%=e.Source.ID %>'}">删除</a></td></tr>
</table>
<%};
list.Render(Response.Output);
%>