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

简介:   相关文章:教你30秒打造强类型ASP.NET数据绑定、强类型ASP.NET数据绑定改进版  之前的方法存在一个问题:Ivony...说:“每个类型都去写个Eval方法也很不爽的。”Kingthy说:“这样就到处有Func了,会不会太过头了?”李永京说:“在项目中任何地方都要使用的方法,应该收集在Core级别的Dll中写成扩展方法。

  相关文章:教你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 static 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) %>
目录
相关文章
|
开发框架 前端开发 .NET
VB.NET中如何利用ASP.NET进行Web开发
在VB.NET中利用ASP.NET进行Web开发是一个常见的做法,特别是在需要构建动态、交互式Web应用程序时。ASP.NET是一个由微软开发的开源Web应用程序框架,它允许开发者使用多种编程语言(包括VB.NET)来创建Web应用程序。
555 6
|
开发框架 JSON .NET
ASP.NET Core 标识(Identity)框架系列(三):在 ASP.NET Core Web API 项目中使用标识(Identity)框架进行身份验证
ASP.NET Core 标识(Identity)框架系列(三):在 ASP.NET Core Web API 项目中使用标识(Identity)框架进行身份验证
564 1
|
开发框架 搜索推荐 前端开发
【.NET全栈】ASP.NET开发Web应用——Web部件技术
【.NET全栈】ASP.NET开发Web应用——Web部件技术
|
开发框架 .NET 开发工具
【Azure 应用服务】App Service 的.NET Version选择为.NET6,是否可以同时支持运行ASP.NET V4.8的应用呢?
【Azure 应用服务】App Service 的.NET Version选择为.NET6,是否可以同时支持运行ASP.NET V4.8的应用呢?
281 0
|
开发框架 .NET 数据库连接
ASP.NET Core 标识(Identity)框架系列(一):如何使用 ASP.NET Core 标识(Identity)框架创建用户和角色?
ASP.NET Core 标识(Identity)框架系列(一):如何使用 ASP.NET Core 标识(Identity)框架创建用户和角色?
555 0
|
开发框架 前端开发 .NET
ASP.NET CORE 3.1 MVC“指定的网络名不再可用\企图在不存在的网络连接上进行操作”的问题解决过程
ASP.NET CORE 3.1 MVC“指定的网络名不再可用\企图在不存在的网络连接上进行操作”的问题解决过程
1077 0
|
存储 开发框架 前端开发
[回馈]ASP.NET Core MVC开发实战之商城系统(五)
经过一段时间的准备,新的一期【ASP.NET Core MVC开发实战之商城系统】已经开始,在之前的文章中,讲解了商城系统的整体功能设计,页面布局设计,环境搭建,系统配置,及首页【商品类型,banner条,友情链接,降价促销,新品爆款】,商品列表页面,商品详情等功能的开发,今天继续讲解购物车功能开发,仅供学习分享使用,如有不足之处,还请指正。
722 0
|
开发框架 前端开发 .NET
[回馈]ASP.NET Core MVC开发实战之商城系统(三)
[回馈]ASP.NET Core MVC开发实战之商城系统(三)
482 0
|
开发框架 前端开发 JavaScript
ASP.NET MVC 教程
ASP.NET 是一个使用 HTML、CSS、JavaScript 和服务器脚本创建网页和网站的开发框架。
606 7
|
存储 开发框架 前端开发
ASP.NET MVC 迅速集成 SignalR
ASP.NET MVC 迅速集成 SignalR
455 0