强类型ASP.N“.NET研究”ET数据绑定改进版之第2版

  相关文章:教你30秒打造强类型ASP.NET数据绑定强类型ASP.NET数据绑定改进版

  之前的方法存在一个问题:

Ivony...说:“每个类型都去写个Eval方法也很不爽的。”

Kingthy说:“这样就到处有Func了,会不会太过头了?”

李永京说:“在项目中任何地方都要使用的方法,应该收集在Core级别的Dll中写成扩展方法。”

  如果用扩展方法解决这个问题,我们将面临新的问题,请看扩展方法:


public static class Binder
{
public static TResult Eval<TEntity, TResult>(this System.Web.UI.Page p,
Func<TEntity, TResult> func)
{
return func((TEntity)p.GetDataItem());
}
}

  这个问题就是在调用时,需要指定返回类型,比如:


<%# this.Eval<NewsInfo, string>(n => n.Title) %>

  可以采用另外一种方法解决这个问题,代码如下:


public static class Binder<TEntity> where TEntity : class
{
public sta上海闵行企业网站制作tic TResult Eval<TResult>上海闵行企业网站设计与制作(System.Web.UI.Page p,
Func<TEntity, TResult> func)
{
return func((TEntity)p.GetDataItem());
}
}

  调用代码如下:


<%# Binder<NewsInfo>.Eval(this, n => n.Title) 上海徐汇企业网站设计与制作%>

  还有更好的解决方法吗?我目前只能找到这个方法,我觉得理想的调用方法应该是:


<%# Eval<NewsInfo>(n => n.Title)%>

时间: 2024-10-08 13:44:41

强类型ASP.N“.NET研究”ET数据绑定改进版之第2版的相关文章

强类型ASP.NET数据绑定改进版之第2版

相关文章:教你30秒打造强类型ASP.NET数据绑定.强类型ASP.NET数据绑定改进版 之前的方法存在一个问题: Ivony...说:"每个类型都去写个Eval方法也很不爽的." Kingthy说:"这样就到处有Func了,会不会太过头了?" 李永京说:"在项目中任何地方都要使用的方法,应该收集在Core级别的Dll中写成扩展方法." 如果用扩展方法解决这个问题,我们将面临新的问题,请看扩展方法: public static class Bin

一起谈.NET技术,强类型ASP.NET数据绑定改进版之第2版

相关文章:教你30秒打造强类型ASP.NET数据绑定.强类型ASP.NET数据绑定改进版 之前的方法存在一个问题: Ivony...说:"每个类型都去写个Eval方法也很不爽的." Kingthy说:"这样就到处有Func了,会不会太过头了?" 李永京说:"在项目中任何地方都要使用的方法,应该收集在Core级别的Dll中写成扩展方法." 如果用扩展方法解决这个问题,我们将面临新的问题,请看扩展方法: public static class Bin

强类型ASP.NET数据绑定改进“.NET研究”版

相关文章:教你30秒打造强类型ASP.NET数据绑定.强类型ASP.NET数据绑定改进版之第2版 看了dragonpig写的"教你30秒打造强类型ASP.NET数据绑定",眼前一亮,真是太给力了,原来还可以这样进行数据绑定. 立即小试了一下,并进行了一些改进,目前已经应用于Home中的新闻栏目.下面分享一下改进心得. 使用传统的ASP.NET数据绑定方法,有两个地方一直让人不爽: 1) 缺少智能感知: 2) 强制类型转换. 先回味一下传统的ASP.NET数据绑定: 看看上面的ToStr

一起谈.NET技术,强类型ASP.NET数据绑定改进版

相关文章:教你30秒打造强类型ASP.NET数据绑定.强类型ASP.NET数据绑定改进版之第2版 看了dragonpig写的"教你30秒打造强类型ASP.NET数据绑定",眼前一亮,真是太给力了,原来还可以这样进行数据绑定. 立即小试了一下,并进行了一些改进,目前已经应用于Home中的新闻栏目.下面分享一下改进心得. 使用传统的ASP.NET数据绑定方法,有两个地方一直让人不爽: 1) 缺少智能感知: 2) 强制类型转换. 先回味一下传统的ASP.NET数据绑定: 看看上面的ToStr

一起谈.NET技术,教你30秒打造强类型ASP.NET数据绑定

相关文章:强类型ASP.NET数据绑定改进版.强类型ASP.NET数据绑定改进版之第2版 数据绑定似乎是ASP.NET老掉牙的东西了.可是你知道吗,只需要一点小小的改动就可以替换Eval,摆脱字符串依赖并且大大提高性能. 首先在code behind中加入以下方: protected virtual object ExpHelper<TEntity, TREsult>(Func<TEntity, TREsult> func){ var itm = GetDataItem();ret

教你30秒打造强类型ASP.NET数据“.NET研究”绑定

相关文章:强类型ASP.NET数据绑定改进版.强类型ASP.NET数据绑定改进版之第2版 数据绑定似乎是ASP.NET老掉牙的东西了.可是你知道吗,只需要一点小小的改动就可以替换Eval,摆脱字符串依赖并且大大提高性能. 首先在code behind中加入以下方: protected virtual object ExpHelper<TEntity, TREsult>(Func<TEntity, TREsult> func){ var itm = GetDataItem();ret

请问大家ASP.NET的aspx页面数据绑定&amp;amp;lt;%# Eval(&amp;amp;quot; 这里面是数据库的字段还是实体层的字段属性&amp;amp;quot;)%&amp;amp;gt; 谢谢

问题描述 请问大家ASP.NET的aspx页面数据绑定<%#Eval("这里面是数据库的字段还是实体层的字段属性")%>谢谢 解决方案 解决方案二:数据库的!其实也就是DATASET采集数据库的原始数据字段的列!解决方案三:数据源是DataTable就是字段,DataSource是实体列表就是实体属性解决方案四:看你的数据源.你要绑定的是DataTable就是DataTable的列名,要是SqlDataReader就是查询字段名,要是绑定的类(例如model)就是属性名称解

ASP.NET Eval如何进行数据绑定

ASP.NET Eval在数据绑定方面的应用是众所周知的,不过技术在发展,当ASP.NET Eval 1.1变成ASP.NET Eval 2.0的时候,在操作的时候会有什么变化呢? 假设你已经了解ASP.NET Eval 1.1的数据绑定(特别是Container这个局部变量)的机制,这里主要分析ASP.NET Eval 2.0数据绑定做了那些改进. ASP.NET Eval 2.0 的数据绑定函数Eval()简化掉了ASP.NET Eval 1.1神秘的Container.DataItem,比

ZooKeeper源码研究系列(4)集群版服务器介绍

1 系列目录 ZooKeeper源码研究系列(1)源码环境搭建 ZooKeeper源码研究系列(2)客户端创建连接过程分析 ZooKeeper源码研究系列(3)单机版服务器介绍 ZooKeeper源码研究系列(4)集群版服务器介绍 2 集群版服务器启动过程 启动类是org.apache.zookeeper.server.quorum.QuorumPeerMain,启动参数就是配置文件的地址 2.1 配置文件说明 来看下一个简单的配置文件内容: tickTime=4000 initLimit=10