zoukankan      html  css  js  c++  java
  • 关于DataBinder.Eval Eval Bind

    简单说

    <%#Bind("字段名")%>双向绑定 读/写

    <%# Eval("name") %> 只能进行读
    <%# DataBinder.Eval(Container.DataItem,"sex") %> 同上

    <%# 表示数据绑定,

    Eval是对数据的只读绑定,被绑定的子控件所属的父控件(比如GridView)不能用此子控件接收用户输入的修改。Bind是双向绑定,所谓双向,是数据源---显示界面的双向数

    据流动,即读/写。
    Eval可以替换为Bind,但会降低性能;反之不能替换。
    Container即容器,指父控件;DataItem指父控件所绑定的数据源的当前行,不是字段。

    如果只是显示值<%#Eval("字段名")%>就可以了.
    如果是要修改值<%#Bind("字段名")%>就可以了.

    以下两种的显示是相同的

    <%# Eval("name") %>
    <%# DataBinder.Eval(Container.DataItem,"sex") %>

    而<%=表示输出变量和Response.Write(xx)等效

    DataBinder.Eval的基本格式
    DataBinder.Eval(Container.DataItem,"XXX","{0}")
    <%# DataBinder.Eval(Container.DataItem,"xxxx")%>
    <%# DataBinder.Eval(Container,"DataItem.xxxx")%>

    问题1、他们是有什么不同?
    问题2、他们是否可以相互替换?
    问题3、DataBinder.Eval(Container.DataItem,"") 这个Container和DataItem分别都是什么?

    答1:Eval是对数据的只读绑定,被绑定的子控件所属的父控件(比如GridView)不能用此子控件接收用户输入的修改。Bind是双向绑定,所谓双向,是数据源---显示界面的双向数

    据流动,即读/写。
    答2:Eval可以替换为Bind,但会降低性能;反之不能替换。
    答3:Container即容器,指父控件;DataItem指父控件所绑定的数据源的当前行,不是字段。

    如果只是显示值<%#Eval("字段名")%>就可以了.
    如果是要修改值<%#Bind("字段名")%>就可以了.

    以下两种的显示是相同的

    <%# Eval("name") %>

    <%# DataBinder.Eval(Container.DataItem,"sex") %>

    本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/seraphlei/archive/2008/11/17/3320484.aspx

  • 相关阅读:
    身体终于好了 敢大声说话 没事了
    网名 关于网名
    opencv学习20初探基本类型数据
    SQL语句精典收藏
    CodeSimth Update存储过程
    动态sql语句基本语法
    CodeSmith下载与生成存储过程的一个模板
    SQL SERVER的数据类型
    SQL语句精典收藏
    CodeSmith入门教程之编写数据库模板
  • 原文地址:https://www.cnblogs.com/aaa6818162/p/1517671.html
Copyright © 2011-2022 走看看