• asp.net中Eval()和Bind()的区别


    绑定表达式
    <%#  Eval("字段名") %>
    <%#  Bind("字段名") %>
    区别 1。eval是只读数据,Bind是可更新的.
    2.当再次表达式操作时候,必须用Eval 如<%# Eval("字段名").ToString().Trim()%>
    3.若GridView中绑定列里面 设置 内容格式 DataFormateString ={0:d} ,则 必须把 属性 HtmlCode 设置为false,否则无法起作用;
    Eval 单向绑定:数据是只读的
    Bind双向绑定:数据可以更改,并返回服务器端,服务器可以处理更改后的数据,如存入数据库.
    <%#  DataBinder.Eval(Container.DataItem,"dateandtime","{0:D}")%> //----2006年10月27日
    <%#  DataBinder.Eval(Container.DataItem,"dateandtime","{0:F}")%>//----2006年10月27日 8:31:44
    <%#  DataBinder.Eval(Container.DataItem,"dateandtime","{0:G}")%>//----2006-10-27 8:31:44
    <%#  DataBinder.Eval(Container.DataItem,"dateandtime","{0:M}")%>//----10月27日
    <%#  DataBinder.Eval(Container.DataItem,"dateandtime","{0:R}")%>//----Fri, 27 Oct 2006 08:31:44GMT
    <%#  DataBinder.Eval(Container.DataItem,"dateandtime","{0:T}")%>//----8:31:44
    <%#  DataBinder.Eval(Container.DataItem,"dateandtime","{0:U}")%>//----2006年10月27日 0:31:44
    <%#  DataBinder.Eval(Container.DataItem,"dateandtime","{0:Y}")%>//----2006年10月
    对于程序员来说最根本的区别是:
    1.Bind是可更新的,是Bind绑定列可编辑,并且可以和数据源控件交互,直接和数据库交互,但是用Bind的话,程序端的自定义操作就不能用了,比如Convert,ToString()等,或自己写的函数,在程序端都不可以
    2.eval是只读数据,用eval的话不可以和数据源控件交互,是单向的,但是可以自定义操作
    比如上面的<%# Eval("字段名").ToString().Trim()%>
    本人从来和数据库交互自己写代码,所以对我来说操作的Eval更方便,基本不用Bind,而且以前写过,绑定泛型的时候,Bind都不支持嵌套类
    简单来说就是:   Eval是单向的 也就是说只能 【读取数据】
            Bind是双向的 也就是说可以 【读取】和 【写入】

  • 相关阅读:
    前端性能优化-基础认知
    AngularJS表单验证开发案例
    信息无缝滚动效果marquee
    好用的切换滑动焦点图框架jquery.superslide
    jQuery核心探究
    焦点图轮播图原理与机制
    删除数组中指定的某个元素
    伪响应式开发(PC和Mobile分离)
    18丨CentOS:操作系统级监控及常用计数器解析(下)
    17丨CentOS:操作系统级监控及常用计数器解析
  • 原文地址:https://www.cnblogs.com/strivers/p/1903863.html
Copyright © 2020-2023  润新知