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是双向的 也就是说可以 【读取】和 【写入】

时间: 2024-10-03 21:53:37

asp.net中Eval()和Bind()的区别的相关文章

&lt;%#eval() %&gt;和&lt;%#bind() %&gt; 的区别

1.简单描述Eval和Bind的区别 绑定表达式 <%# Eval("字段名") %> <%# Bind("字段名") %> 区别 1.eval是只读数据,bind是可更新的. 2.当对次表达式操作时候,必须用Eval 如<%# Eval("字段名").ToString().Trim() %> 2.若GridView中绑定列里面 设置 内容格式 DataFormateString ={0:d} ,则 必须把 属

asp.net中virtual和abstract的区别分析

这篇文章主要介绍了asp.net中virtual和abstract的区别,较为详细的分析了virtual与abstract的概念与具体用法,并以实例的形式予以总结归纳,需要的朋友可以参考下 本文实例分析了asp.net中virtual和abstract的区别,分享给大家供大家参考.具体分析如下: 一.Virtual方法(虚方法) virtual 关键字用于在基类中修饰方法.virtual的使用会有两种情况:情况1:在基类中定义了virtual方法,但在派生类中没有重写该虚方法.那么在对派生类实例

ASP.NET中RegisterStartupScript和RegisterClientScriptBlock有区别吗

今天用RegisterClientScriptBlock()方法调用了alertify.js(绚丽的实现alert()同样的提示功能): Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "message", "<script>alertify.success('删除成功!');</script>"); 错误信息大致是这样:alertify is undefined   

asp.net 中 Eval() Bind() &lt;%%&gt; &lt;%=%&gt; 总结

eval和bind都是绑定datatable或者其他(集合,等)中的内容,那么他们有什么区别呢?性能方面怎么样呢?eval有哪几种用法呢?本文将做详细介绍:ASP.NET中的Eval和DataBinder.Eval方法 bind是双向绑定,但需数据源可更改才能用.ASP.NET 2.0改善了模板中的数据绑定操作,把v1.x中的数据绑定语法DataBinder.Eval(Container.DataItem, fieldname)简化为Eval(fieldname).Eval方法与DataBind

asp.net中Literal与label的区别

摘自:http://www.cnblogs.com/Fskjb/archive/2010/03/19/1690233.html 一.方案 Literal 最常用于向页面中动态添加内容. 二.背景 Literal 控件表示用于向页面添加内容的几个选项之一.对于静态内容,无需使用容器,可以将标记作为 HTML 直接添加到页面中.但是,如果要动态添加内容,则必须将内容添加到容器中.典型的容器有 Label 控件.Literal 控件.Panel 控件和 PlaceHolder 控件. Literal

js中eval()和$.parseJSON()的区别

之前自己一直对ajax不是特别的熟悉,所以一般都很少用这个去写功能,但是最近这个项目中用到了,用ajax异步传数据,json传数据这个时候就需要去解析传过来的数据了,eval()和$.parseJSON()都是可以解析数据的,但是他们也是有区别的: 1:安全性 例: var str = 'alert(1000.toString())'; eval(str); JSON.parse(str); 用eval可以解析,并且会弹出对话框,而用JSON.parse()则解析不了. 其实alert并没有什么

JSON中eval与parse的区别

json的的解析方法 (非原创) json的解析方法共有两种:eval_r() 和 JSON.parse(),使用方法如下: var jsonData = '{"data1":"Hello,", "data2":"world!}'; var evalJson=eval_r('('+jsonData+')'); var jsonParseJson=JSON.parse(jsonData); 这样就把jsonData这个json格式的字符串

javascript中call,apply,bind的区别

在JS中,这三者都是用来改变函数的this对象的指向的,他们有什么样的区别呢. 在说区别之前还是先总结一下三者的相似之处: 1.都是用来改变函数的this对象的指向的.2.第一个参数都是this要指向的对象.3.都可以利用后续参数传参.那么他们的区别在哪里的,先看一个例子. var xw = { name : "小王", gender : "男", age : 24, say : function() { alert(this.name + " , &qu

asp.net中virtual和abstract的区别

一.Virtual方法(虚方法) virtual 关键字用于在基类中修饰方法.virtual的使用会有两种情况:情况1:在基类中定义了virtual方法,但在派生类中没有重写该虚方法.那么在对派生类实例的调用中,该虚方法使用的是基类定义的方法.情况2:在基类中定义了virtual方法,然后在派生类中使用override重写该方法.那么在对派生类实例的调用中,该虚方法使用的是派生重写的方法. 当一个方法被声明为Virtual时,它是一个虚拟方法,直到你使用ClassName variable =