一起谈.NET技术,ASP.NET绑定的技巧

简介: Data Binding似乎是ASP.NET老掉牙的节目,无非Eval之流。其实稍作加工就能使其脱胎换骨。在代码中加入://推荐放在基类protected virtual object ExpHelper(Func func){ var itm = GetDataItem(); ...

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,很酷吧。

我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!我要发布!!
目录
相关文章
|
6月前
|
存储 开发框架 前端开发
asp.net与asp.net优缺点及示例
asp.net与asp.net优缺点及示例
|
1月前
|
开发框架 前端开发 .NET
进入ASP .net mvc的世界
进入ASP .net mvc的世界
29 0
|
1月前
|
开发框架 中间件 .NET
C# .NET面试系列七:ASP.NET Core
## 第一部分:ASP.NET Core #### 1. 如何在 controller 中注入 service? 在.NET中,在ASP.NET Core应用程序中的Controller中注入服务通常使用<u>依赖注入(Dependency Injection)</u>来实现。以下是一些步骤,说明如何在Controller中注入服务: 1、创建服务 首先,确保你已经在应用程序中注册了服务。这通常在Startup.cs文件的ConfigureServices方法中完成。例如: ```c# services.AddScoped<IMyService, MyService>(); //
65 0
|
1月前
|
开发框架 前端开发 .NET
C# .NET面试系列六:ASP.NET MVC
<h2>ASP.NET MVC #### 1. MVC 中的 TempData\ViewBag\ViewData 区别? 在ASP.NET MVC中,TempData、ViewBag 和 ViewData 都是用于在控制器和视图之间传递数据的机制,但它们有一些区别。 <b>TempData:</b> 1、生命周期 ```c# TempData 的生命周期是短暂的,数据只在当前请求和下一次请求之间有效。一旦数据被读取,它就会被标记为已读,下一次请求时就会被清除。 ``` 2、用途 ```c# 主要用于在两个动作之间传递数据,例如在一个动作中设置 TempData,然后在重定向到另
100 5
|
3月前
|
开发框架 安全 搜索推荐
分享105个NET源码ASP源码,总有一款适合您
分享105个NET源码ASP源码,总有一款适合您
28 4
|
7月前
|
开发框架 前端开发 .NET
.NET 8 Release Candidate 1 (RC1)现已发布,包括许多针对ASP.NET Core的重要改进!
.NET 8 Release Candidate 1 (RC1)现已发布,包括许多针对ASP.NET Core的重要改进!
179 0
.NET 8 Release Candidate 1 (RC1)现已发布,包括许多针对ASP.NET Core的重要改进!
|
7月前
|
JSON 数据格式
.NET Core - 配置绑定:使用强类型对象承载配置数据
.NET Core - 配置绑定:使用强类型对象承载配置数据
|
7月前
.NET Core配置强类型绑定及配置热更新能力
学习了配置框架的4种配置方式之后,我们可以对不同的环境选择不同的配置方式,以使服务能够更好的适应各种环境,那么,你是否觉得配置虽然加载进服务中,但是使用起来却不是很方便,每次读取都得通过对应的键值去根查找,是否想过如果我们修改了配置文件呢?本篇,我们一起来学习下这两个问题。为了方便演示,本节使用文件提供程序配置方式。
|
8月前
|
存储 开发框架 .NET
ASP.NET学生管理系统(.NET毕业设计)
ASP.NET学生管理系统(.NET毕业设计)
102 0
|
9月前
|
开发框架 前端开发 JavaScript
ASP .Net Core 中间件的使用(一):搭建静态文件服务器/访问指定文件
ASP .Net Core 中间件的使用(一):搭建静态文件服务器/访问指定文件