自定义的Repeat类

因为一些依据性不强的道听途说以及个人偏见, 很不喜欢.NET的服务端控件. 主要是冗余代码问题以及一种强烈的根深蒂固的DIY癖.

工作中经常需要将大量的字段信息以一定格式显示在页面上. 通常是Bind到一个DataView或Repeat控件中. 围绕着易用性, 改成如下调用方式:

页面文件样式:

<table>
<tbody id="tbodyList" runat="server">
  <tr>
    <td>{$id}</td>
     <td>{$date:"yyyy-MM-dd"}</td>
     <td><a href="?customer_id={$customer_id}">{$customer:text}</a></td>
  </tr>
</tbody>
</table>

调用方式:

DataTable dtItems = db.GetTable(cmd);   //此处获得列表数据

StringFormat.BindControl(this.tbodyList, dtItems);

//StringFormat 即类名, 此处调用了其静态方法BindControl
//字段名对应前台模板中的 {$field}, 可以规定格式为 {$field:"format"}
//此处的format可以自定义(自己的类当然是自定义)
//我常用的就是日期格式, 数字格式, 大小写, 或者text(经过Server.HtmlEncode的)

觉得想法不错的朋友欢迎顶顶, 觉得垃圾的也欢迎丢西红柿.

实现代码我想园子里大部分人都很容易就能写出来, 这里就不写出来班门弄斧了, 主要是跟大家分享下想法.

原文地址:https://www.cnblogs.com/xiarugu/p/1903431.html