自定义的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的)
觉得想法不错的朋友欢迎顶顶, 觉得垃圾的也欢迎丢西红柿.
实现代码我想园子里大部分人都很容易就能写出来, 这里就不写出来班门弄斧了, 主要是跟大家分享下想法.