Eval数据绑定

    技术2024-06-15  74

    后台 调用了 DataBind(),前台 都可以用 <%# %>的形式用Eval函数进行数据绑定。

    如下:

    <%# Eval("Created","{0:d}") %> //Created 字段名 <%# ParseDate(Eval("Created")) %> //ParseDate后台方法

    可以 使用后台方法来 代替 Eval,如下:

    public object Parse<TSource>(Func<TSource, string> parseor) { var item = GetDataItem(); return parseor((TSource)item); } protected void Page_Load(object sender, EventArgs e) { List<UserInfo> list = new List<UserInfo> { new UserInfo { Name = "lin", Age = 25, Created = DateTime.Now }, new UserInfo { Name = "lin2", Age = 25, Created = DateTime.Now }, new UserInfo { Name = "lin3", Age = 25, Created = DateTime.Now } }; Repeater1.DataSource = list; Repeater1.DataBind(); }

    前台调用 Parse 方法,如下

    <asp:Repeater ID="Repeater1" runat="server"> <ItemTemplate> <%# Parse<UserInfo>(u=>string.Format("姓名:{0}--年龄:{1}",u.Name,u.Age)) %><br /> </ItemTemplate> </asp:Repeater>

    用泛型和委托的方式 ,更加 灵活,前台可以使用 Lambda表达式。

     

    最新回复(0)