asp.net 中 Eval() Bind() <%%> <%=%> 总结

eval和bind都是绑定datatable或者其他(集合,等)中的内容,那么他们有什么区别呢?性能方面怎么样呢?eval有哪几种用法呢?本文将做详细介绍:ASP.NET中的Eval和DataBinder.Eval方法
bind是双向绑定,但需数据源可更改才能用。ASP.NET 2.0改善了模板中的数据绑定操作,把v1.x中的数据绑定语法DataBinder.Eval(Container.DataItem, fieldname)简化为Eval(fieldname)。Eval方法与DataBinder.Eval一样可以接受一个可选的格式化字符串参数。缩短的Eval语法与DataBinder.Eval的不同点在于,Eval会根据最近的容器对象(例如DataListItem)的DataItem属性来自动地解析字段,而DataBinder.Eval需要使用参数来指定容器。由于这个原因,Eval只能在数据绑定控件的模板中使用,而不能用于Page(页面)层。当然,ASP.NET 2.0页面中仍然支持DataBinder.Eval,你可以在不支持简化的Eval语法的环境中使用它。

用法<%# Bind("Subject") %> //绑定字段<%# Container.DataItemIndex + 1%> //实现自动编号<%# Container.ItemIndex %> //Repeater自动编号<%# DataBinder.Eval(Container.DataItem, "[n]") %>通常使用的方法(這三個性能最好)<%# DataBinder.Eval(Container.DataItem, "ColumnName") %><%# DataBinder.Eval(Container.DataItem, "ColumnName", null) %><%# DataBinder.Eval(Container, "DataItem.ColumnName", null) %>其他用法<%# ((DataRowView)Container.DataItem)["ColumnName"] %><%# ((DataRowView)Container.DataItem).Row["ColumnName"] %><%# ((DataRowView)Container.DataItem)["adtitle"] %><%# ((DataRowView)Container.DataItem)[n] %><%# ((DbDataRecord)Container.DataItem)[0] %><%# (((自定义类型)Container.DataItem)).属性.ToString() %>//如果属性为字符串类型就不用ToString()了

Eval用法DataBinder.Eval范例<%# DataBinder.Eval(Container.DataItem, "IntegerValue", "{0:c}") %>格式化字符串参數是可选的。如果忽略参数,DataBinder.Eval 返回对象类型的值,

//显示两位小数<%# DataBinder.Eval(Container.DataItem, "UnitPrice", "${0:F2}") %>

格式:{0:d} 日期只显示年月日{0:yyyy-mm-dd} 按格式显示年月日{0:c} 货币样式<%#Container.DataItem("price","{0:¥#,##0.00}")%><%# DataBinder.Eval(Container.DataItem,"Company_Ureg_Date","{0:yyyy-M-d}")%>Specifier Type      Format    Output (Passed Double 1.42)   Output (Passed Int -12400) c   Currency         {0:c}      $1.42      -$12,400 d   Decimal          {0:d}     System.FormatException   -12400 e   Scientific       {0:e}     1.420000e+000     -1.240000e+004 f   Fixed point      {0:f}   1.42     -12400.00 g   General          {0:g}   1.42      -12400 n   Number with commas for thousands   {0:n}   1.42      -12,400 r   Round trippable     {0:r}   1.42      System.FormatException x   Hexadecimal     {0:x4}   System.FormatException    cf90 

{0:d} 日期只显示年月日{0:yyyy-mm-dd} 按格式显示年月日

样式取决于 Web.config 中的设置{0:c}   或 {0:£0,000.00} 货币样式,标准英国货币样式

显示为£3,000.10

{0:c}   或 string.Format("{0:C}", price); 中国货币样式

显示为 ¥3,000.10

{0:c}   或 string.Format("{0:C}", price); 美国货币样式

Eval(" ")绑定两个字段:
CommandArgument=‘<%#Eval("dyid").ToString()+Eval("dyid1").ToString()+… %>‘这种形式就行
你把Eval("").ToString()当成一个普通字符串,而‘<%# %>‘保留就行,你高兴怎么处理就怎么处理,
所有字符串的操作都有效,你还可以用静态函数来处理这些字符串。

<asp:TextBox ID="TextBox5" runat="server" class="inputwidth100"
Text=‘<%# Eval("RZMJ").ToString()+Eval("LDDW").ToString() %>‘></asp:TextBox>
区别:
绑定表达式 <%#  Eval("字段名") %> <%#  Bind("字段名") %> 区别 eval是只读数据,Bind是可更新的.(可以读取和写入)
对于程序员来说最根本的区别是:1.Bind是可更新的,是Bind绑定列可编辑,并且可以和数据源控件交互,直接和数据库交互,但是用Bind的话,程序端的自定义操作就不能用了,比如Convert,ToString()等,或自己写的函数,在程序端都不可以2.eval是只读数据,用eval的话不可以和数据源控件交互,是单向的,但是可以自定义操作比如上面的<%# Eval("字段名").ToString().Trim()%> 本人从来和数据库交互自己写代码,所以对我来说操作的Eval更方便,基本不用Bind,而且以前写过,绑定泛型的时候Bind都不支持嵌套类

下面接受啊<%%> <%= %>
<% %> 放在 HTML中写后台程序代码. <%= %>  放在HTML中输出一个变量,表达式。。
时间: 2024-10-25 22:53:54

asp.net 中 Eval() Bind() <%%> <%=%> 总结的相关文章

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

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

Asp.net中DataBinder.Eval用法的总结

<%# Bind("Subject") %> //绑定字段<%# Container.DataItemIndex + 1%> //实现自动编号<%# DataBinder.Eval(Container.DataItem, "[n]") %>通常使用的方法(这三个性能最好)<%# DataBinder.Eval(Container.DataItem, "ColumnName") %><%# Da

ASP.NET中的&lt;%%&gt;介绍

一.主要用于ASP.NET前台绑定用的最多: <%#Eval("")%> <%#Bind("")%> <%=变量%> 1.<%#Eval("数据列")%>主要用于需要进行更改的数据列 如:需要将<%Eval("性别")%>=1:将1转换成女. 首先在.CS文件中定义一个方法: 1 public object ChangeSex(object obj) 2 { 3 if

Asp.net中GridView使用详解(引)【转】

Asp.net中GridView使用详解(引) GridView无代码分页排序 GridView选中,编辑,取消,删除 GridView正反双向排序 GridView和下拉菜单DropDownList结合 GridView和CheckBox结合 鼠标移到GridView某一行时改变该行的背景色方法一 鼠标移到GridView某一行时改变该行的背景色方法二 GridView实现删除时弹出确认对话框 GridView实现自动编号 GridView实现自定义时间货币等字符串格式 GridView实现用

Asp.net中GridView使用详解(很全,很经典)

http://blog.csdn.net/hello_world_wusu/article/details/4052844 Asp.net中GridView使用详解 效果图参考:http://hi.baidu.com/hello%5Fworld%5Fws/album/asp%2Enet中以gv开头的图片 l         GridView无代码分页排序 l         GridView选中,编辑,取消,删除 l         GridView正反双向排序 l         GridVi

Asp.net中GridView使用详解(很全,很经典 转来的)

Asp.net中GridView使用详解 效果图参考:http://hi.baidu.com/hello%5Fworld%5Fws/album/asp%2Enet中以gv开头的图片 l         GridView无代码分页排序 l         GridView选中,编辑,取消,删除 l         GridView正反双向排序 l         GridView和下拉菜单DropDownList结合 l         GridView和CheckBox结合 l         

谈谈asp.net中的&lt;% %&gt;,&lt;%= %&gt;,&lt;%# %&gt;&lt;%$ %&gt;的使用

学而不思则罔,思而不学则殆,每天坚持一小步,则成功一大步 asp.net中的<% %>,<%= %>,<%#eval("") %><%$ %>的使用 下面来看一下asp.net中的<% %>,<%= %>,><%# %><%$ %>的使用 首先我们来看一下<% %>的使用 在aspx的页面中只能使用服务器控件和一般的控件,有些时候你想在该页面写入c#代码,必须使用<%

转:通过代码理解Asp.net4中的几种ClientIDMode设置.

转:http://www.cnblogs.com/xray2005/archive/2011/07/05/2097881.html 以前我们可以通过ClientID在JavaScript脚本中服务器端控件.比如: document.getElementById("<%=控件.ClientID %>"); 这种方式不方便,而且如果在有数据绑定的控件中嵌套着子控件,则访问更不太方便了. 现在,在Asp.Net4中,对于控件增加了一种新的属性,名为ClientIDMode.通过设

asp.net中Repeater中用ul li绑定数据

<ul class="tit1"> <asp:Repeater ID="Repeater1" runat="server"> <ItemTemplate> <li> <p class="tit1-p-1"> <img style="border: 0px;" src="/image/biaozhi.jpg" /> &