`

Eval与DataBinder.Eval的区别

阅读更多

 

 

 

 

 

Eval与DataBinder.Eval的区别

 

转自:http://blog.sina.com.cn/s/blog_5149146a0100fp11.html

 

 

 

DataBinder.的基本格式
DataBinder.(Container.DataItem,"XXX","{0}")
<%# DataBinder.(Container.DataItem,"xxxx")%>或者<%# DataBinder.(Container,"DataItem.xxxx")%>
还有一种据说微软说效率很高的方式
<%# ((DataRowView)Container.DataItem)["xxxx"]%> 但是这种方式必须要在前台页面导入名称空间System.Data,否则会生成错误信息<%@ Import namespace="System.Data" %>

DataBinder.的基本格式
DataBinder.(Container.DataItem,"XXX","{0}")
<%# DataBinder.(Container.DataItem,"xxxx")%>
<%# DataBinder.(Container,"DataItem.xxxx")%>
问题1、他们是有什么不同?
问题2、他们是否可以相互替换?
问题3、DataBinder.(Container.DataItem,"") 这个Container和DataItem分别都是什么?
答1:是对数据的只读绑定,被绑定的子控件所属的父控件(比如GridView)不能用此子控件接收用户输入的修改。Bind是双向绑定,所谓双向,是数据源---显示界面的双向数据流动,即读/写。
答2:可以替换为Bind,但会降低性能;反之不能替换。
答3:Container即容器,指父控件;DataItem指父控件所绑定的数据源的当前行,不是字段。如果只是显示值<%#("字段名")%>就可以了.如果是要修改值<%#Bind("字段名")%>就可以了.
以下两种的显示是相同的
<%# ("name") %>
<%# DataBinder.(Container.DataItem,"sex") %>

<%# Bind("Subject") %> //绑定字段
<%# Container.DataItemIndex + 1%> //实现自动编号
<%# DataBinder.(Container.DataItem, "[n]") %>
通常使用的方法(这三个性能最好)
<%# DataBinder.(Container.DataItem, "ColumnName") %>
<%# DataBinder.(Container.DataItem, "ColumnName", null) %>
<%# DataBinder.(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()
DataBinder.用法范例
<%# DataBinder.(Container.DataItem, "IntegerValue", "{0:c}") %>
格式化字符串参数是可选的。如果忽略参数,DataBinder. 返回对象类型的值,
//显示二位小数
<%# DataBinder.(Container.DataItem, "UnitPrice", "${0:F2}") %>
//{0:G}代表显示True或False
<ItemTemplate>
<asp:Image Width="12" Height="12" Border="0" runat="server"
AlternateText='<%# DataBinder.(Container.DataItem, "Discontinued", "{0:G}") %>'
ImageUrl='<%# DataBinder.(Container.DataItem, "Discontinued", "~/images/{0:G}.gif") %>' />
</ItemTemplate>
//转换类型
((string)DataBinder.(Container, "DataItem.P_SHIP_TIME_SBM8")).Substring(4,4)
{0:d} 日期只显示年月日
{0:yyyy-mm-dd} 按格式显示年月日
{0:c} 货币样式
<%#Container.DataItem("price","{0:¥#,##0.00}")%>
<%# DataBinder.(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} 货币样式   标准英国货币样式
<system.web>
<globalization requestEncoding="utf-8" responseEncoding="utf-8" culture="en-US" uiCulture="en-US" />
</system.web>
显示为 £3,000.10
{0:c}   或 string.Format("{0:C}", price); 中国货币样式
<system.web>
<globalization requestEncoding="utf-8" responseEncoding="utf-8" culture="zh-cn" uiCulture="zh-cn" />
</system.web>
显示为 ¥3,000.10
{0:c}   或 string.Format("{0:C}", price); 美国货币样式
<system.web>
<globalization requestEncoding="utf-8" responseEncoding="utf-8" />
</system.web>
显示为 $3,000.10

 

分享到:
评论

相关推荐

    DataBinder.Eval总结

    `DataBinder.Eval` 是ASP.NET中用于在控件中绑定数据的一个非常重要的方法,它允许开发者在ASP.NET页面上动态地从数据源获取值并显示。本文将深入探讨 `DataBinder.Eval` 的基本使用方式,高效用法,以及如何实现...

    [ASP_NET]DataBinder_Eval用法_學習 積累 進步

    3. **格式化输出**:DataBinder.Eval还可以与转换函数一起使用,对数据显示进行格式化。例如,将日期字段转换为特定的日期格式: ```xml &lt;%# string.Format("{0:yyyy-MM-dd}", DataBinder.Eval(Container.Data...

    深入理解Asp.net中DataBinder.Eval的用法总结

    综上所述,DataBinder.Eval在Asp.net中扮演着数据绑定的关键角色,通过它可以轻松地将数据源的字段值与控件属性关联起来,同时支持数据类型的转换和格式化输出,使得页面呈现更加灵活和多样化。理解和熟练运用...

    浅析DataBinder.Eval和Eval的区别

    本文将深入探讨两种常见的数据绑定方法:`DataBinder.Eval`和`Eval`,以及它们之间的区别。 `Eval`方法是在ASP.NET 2.0引入的简化数据绑定语法,它使得模板中的数据绑定更加简洁。`Eval`方法可以直接通过字段名来...

    ASP.NET完全入门

    缩短的Eval语法与DataBinder.Eval的不同点在于,Eval会根据最近的容器对象(例如DataListItem)的DataItem属性来自动地解析字段,而DataBinder.Eval需要使用参数来指定容器。由于这个原因,Eval只能在数据绑定控件的...

    EVAL操作集合 包含Eval()的一些常用操作 常用函数

    7. Eval()方法可以显示日期,只显示年月日,例如:&lt;%# DataBinder.Eval(Container.DataItem,"Company_Ureg_Date","{0:yyyy-M-d}")%&gt; 8. Eval()方法可以显示货币样式,例如:&lt;%#Container.DataItem("price","{0:¥#,#...

    揭秘ASP.NET 2.0的Eval方法.doc

    在ASP.NET 1.x中,数据绑定表达式的标准形式是使用`DataBinder.Eval`方法,例如: ``` &lt;%#DataBinder.Eval(Container,"DataItem.Name")%&gt; ``` 而在ASP.NET 2.0中,同样的功能可以通过更简洁的语法实现: ``` &lt;%#Eval...

    设计一个简单的网页

    d&gt; 可能感兴趣的人:"&gt; ... &lt;%# DataBinder.Eval(Container.DataItem, "Name")%&gt; &lt;%# DataBinder.Eval(Container.DataItem, "Sex")%&gt; &lt;%# DataBinder.Eval(Container.DataItem, "myEmail")%&gt; &lt;/td&gt;

    AspNetPager1

    &lt;td&gt;&lt;%#DataBinder.Eval(Container.DataItem,"Activation")%&gt; &lt;td&gt;&lt;%#DataBinder.Eval(Container.DataItem, "DealerId")%&gt; &lt;td&gt;&lt;%#DataBinder.Eval(Container.DataItem, "UserId")%&gt; &lt;td&gt;&lt;%#DataBinder.Eval...

    C#(ASP.NET)DateTime日期类型格式化显示

    DataBinder.Eval(Container.DataItem,"starttime","{0:yyyy-M}") 7.显示时间所有部分,包括:年月日时分秒 收款时间" HeaderText="收款时间" DataFormatString="{0:yyyy-MM-dd HH24:mm:ss}"&gt; &lt;/asp:BoundColumn&gt; ...

    ASO.NET前台页面绑定数据大全

    #### 一、Eval()与DataBinder.Eval() **Eval()** 和 **DataBinder.Eval()** 是两种常用的数据绑定表达式,用于在ASP.NET中获取数据项的值。它们的主要区别在于,DataBinder.Eval() 提供了更多的灵活性和安全性。 1...

    C# aspx数据绑定方法集.doc

    这种简化后的语法与之前的`DataBinder.Eval(Container.DataItem, "FieldName")`相比,减少了参数的传递,使得代码更为简洁。 **示例**: ```html ...

    ASP.NET常用语句

    ASP.NET 常用语句 ...&lt;%# System.DateTime.Parse(DataBinder.Eval(Container.DataItem, "begtime").ToString()).ToShortDateString()%&gt; 该语句用于去除时间中的秒数,仅显示日期部分。 6. 标题带链接 ...

    ASP.NET Eval 求值运算的一些用法

    在处理数据源时,`Eval`可以与不同的数据类型配合。例如,如果你的数据源是`DataRowView`,你可以直接通过字段名访问值,如`((DataRowView)Container.DataItem)["ColumnName"]`。此外,你还可以通过索引访问,比如`...

    实用的代码

    这里使用`DataBinder.Eval`方法获取`DataItem`中的`begtime`属性值,并将其转换为`System.DateTime`类型,最后使用`ToShortDateString`方法格式化为短日期形式。 #### 6. 创建超链接 ```csharp // 创建超链接 CODE:...

Global site tag (gtag.js) - Google Analytics