ASP.NET绑定的技巧
Data Binding似乎是ASP.NET老掉牙的节目,无非Eval之流。其实稍作加工就能使其脱胎换骨。
在代码中加入:
//推荐放在基类 protected virtual object ExpHelper<TEntity, TREsult>(Func<TEntity, TREsult> func) { var itm = GetDataItem(); return func((TEntity)itm); } //Student是数据类 protected object Stu<TResult>(Func<Student, TResult> func) { return ExpHelper<Student, TResult>(func); } |
这样在ASPX页面就可以用强类型的Eval了
< table > < asp:Repeater runat = "server" > < ItemTemplate > < tr > < td > <%#Stu(_=>_.Id)%> </ td > < td > <%#Stu(_=>_.User.Name)%> </ td > </ tr > </ ItemTemplate > </ asp:Repeater > </ table > |
由于不是反射,性能大为提升并且语法具有intellisense,很酷吧。