- 浏览: 2057827 次
- 性别:
- 来自: 厦门
文章分类
- 全部博客 (1409)
- asp/asp.net学习 (241)
- oracle (10)
- delphi (295)
- java (27)
- pb (1)
- 每日点滴 (49)
- 学习方法 (40)
- 思想方面 (104)
- C语言 (5)
- C++ (1)
- 代码重构经验 (5)
- 软件工程 (3)
- 数据库 (99)
- 英语学习 (3)
- mysql (1)
- 该关注的网站或者网页 (42)
- 总结 (7)
- 要去做的事情 (33)
- 算法 (1)
- 网络方面 (29)
- 随感 (96)
- 操作系统 (36)
- UML (12)
- 常用工具的使用 (55)
- 脚本 (7)
- 汇编 (62)
- 数据结构 (2)
- 财务 (38)
- 语文作文 (16)
- 法律 (1)
- 股票 (88)
最新评论
-
devwang_com:
可以,学习了~~
列出文件夹下所有文件夹的树形结构--Dos命令 tree的使用 -
hvang1988:
不管用啊 frxrprt1.PreviewForm.Pare ...
fastReport预览时嵌入到别的窗体 -
00915132:
我也有这个疑问,非常 感 谢
left join加上where条件的困惑 --SQL优化 -
zhuyoulong:
学习了,高效读书
软件架构师要读的书 -
nTalgar:
非常感谢分享!
Application.ProcessMessages用法:
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
发表评论
-
关于 字符串中的单引号, 在sql存储过程中的传输总结; 逗号分隔的多个变量提取方法.
2011-10-14 17:49 3394摘自:http://blog.csdn.net/nutia ... -
抓取网站内容 asp.net
2011-10-11 13:28 1041HttpWebRequest myReq ... -
两个DATASET合并成一个新的DATASET
2011-09-28 18:17 2513摘自:http://topic.csdn.net/t/2 ... -
VS设置使用哪个浏览器来调试网页
2011-08-30 16:57 1186摘自:http://zhidao.baidu.com/ques ... -
可使用js获取TREE的CheckBox
2011-08-20 12:32 1084摘自:http://www.uipower.com/bb ... -
正则表达式 验证邮箱
2011-06-02 18:14 2639正则表达式 摘自:http://www.alixixi.com ... -
未能加载程序集 App_Web_vdcnimdz”错误
2011-04-25 17:38 1591问题描述: 自己的一个WebGPS程序,只是拷到了别的 ... -
.net跳到指定错误页面兵显示详细的错误信息
2011-04-14 16:48 1253.net跳到指定错误页面兵显示详细的错误信息 摘自:h ... -
注册*.ocx控件
2011-04-14 11:23 938注册*.ocx控件 问题描述:本地的网站的bin目录下有了个 ... -
C# 读取文本文件的时候出现汉字乱码
2011-04-12 16:01 2424问题描述:C# 使用ReadAllText方法读取文本文件的时 ... -
VS 2008中如何显示代码的行号
2011-04-09 09:51 1237摘自:http://zhidao.baidu.com/ques ... -
VS.NET2008可以使用书签的功能
2011-04-08 17:19 1387摘自:http://blog.csdn.net/lmh_851 ... -
两个类库要添加引用才能使用
2011-04-02 13:57 1155两个类库要添加引用才能使用 ---------------- ... -
缓存 <%@ OutputCache Duration="6000" VaryByParam="none" %>
2011-04-02 10:53 1169在页首添加: <%@ OutputCache Durat ... -
FrameSet的加载顺序
2011-04-02 09:56 3896FrameSet的加载顺序是: (1) mainFrame ... -
Response.AddHeader “P3P”,”CP=CAO PSA OUR”
2011-04-01 18:01 2531摘自:http://my.donews.com/alor ... -
Hashtable 的使用
2011-03-31 09:36 8062011-3-31 Hashtable 的使用: ... -
google地图使用(二)
2011-03-30 10:30 13232011-3-291. 今天客户反映,说GOOGLE地图上的拖 ... -
GOOGLE地图
2011-03-29 18:31 8242011-3-291. 今天客户反映,说GOOGLE地图上的拖 ... -
此组中没有可用的控件 工具箱 vs2008
2011-03-29 09:20 2118问题描述: 此组中没有可用的控件 工具箱 vs2008 ...
相关推荐
`DataBinder.Eval` 是ASP.NET中用于在控件中绑定数据的一个非常重要的方法,它允许开发者在ASP.NET页面上动态地从数据源获取值并显示。本文将深入探讨 `DataBinder.Eval` 的基本使用方式,高效用法,以及如何实现...
3. **格式化输出**:DataBinder.Eval还可以与转换函数一起使用,对数据显示进行格式化。例如,将日期字段转换为特定的日期格式: ```xml <%# string.Format("{0:yyyy-MM-dd}", DataBinder.Eval(Container.Data...
综上所述,DataBinder.Eval在Asp.net中扮演着数据绑定的关键角色,通过它可以轻松地将数据源的字段值与控件属性关联起来,同时支持数据类型的转换和格式化输出,使得页面呈现更加灵活和多样化。理解和熟练运用...
本文将深入探讨两种常见的数据绑定方法:`DataBinder.Eval`和`Eval`,以及它们之间的区别。 `Eval`方法是在ASP.NET 2.0引入的简化数据绑定语法,它使得模板中的数据绑定更加简洁。`Eval`方法可以直接通过字段名来...
缩短的Eval语法与DataBinder.Eval的不同点在于,Eval会根据最近的容器对象(例如DataListItem)的DataItem属性来自动地解析字段,而DataBinder.Eval需要使用参数来指定容器。由于这个原因,Eval只能在数据绑定控件的...
7. Eval()方法可以显示日期,只显示年月日,例如:<%# DataBinder.Eval(Container.DataItem,"Company_Ureg_Date","{0:yyyy-M-d}")%> 8. Eval()方法可以显示货币样式,例如:<%#Container.DataItem("price","{0:¥#,#...
在ASP.NET 1.x中,数据绑定表达式的标准形式是使用`DataBinder.Eval`方法,例如: ``` <%#DataBinder.Eval(Container,"DataItem.Name")%> ``` 而在ASP.NET 2.0中,同样的功能可以通过更简洁的语法实现: ``` <%#Eval...
d> 可能感兴趣的人:"> ... <%# DataBinder.Eval(Container.DataItem, "Name")%> <%# DataBinder.Eval(Container.DataItem, "Sex")%> <%# DataBinder.Eval(Container.DataItem, "myEmail")%> </td>
<td><%#DataBinder.Eval(Container.DataItem,"Activation")%> <td><%#DataBinder.Eval(Container.DataItem, "DealerId")%> <td><%#DataBinder.Eval(Container.DataItem, "UserId")%> <td><%#DataBinder.Eval...
DataBinder.Eval(Container.DataItem,"starttime","{0:yyyy-M}") 7.显示时间所有部分,包括:年月日时分秒 收款时间" HeaderText="收款时间" DataFormatString="{0:yyyy-MM-dd HH24:mm:ss}"> </asp:BoundColumn> ...
#### 一、Eval()与DataBinder.Eval() **Eval()** 和 **DataBinder.Eval()** 是两种常用的数据绑定表达式,用于在ASP.NET中获取数据项的值。它们的主要区别在于,DataBinder.Eval() 提供了更多的灵活性和安全性。 1...
这种简化后的语法与之前的`DataBinder.Eval(Container.DataItem, "FieldName")`相比,减少了参数的传递,使得代码更为简洁。 **示例**: ```html ...
ASP.NET 常用语句 ...<%# System.DateTime.Parse(DataBinder.Eval(Container.DataItem, "begtime").ToString()).ToShortDateString()%> 该语句用于去除时间中的秒数,仅显示日期部分。 6. 标题带链接 ...
在处理数据源时,`Eval`可以与不同的数据类型配合。例如,如果你的数据源是`DataRowView`,你可以直接通过字段名访问值,如`((DataRowView)Container.DataItem)["ColumnName"]`。此外,你还可以通过索引访问,比如`...
这里使用`DataBinder.Eval`方法获取`DataItem`中的`begtime`属性值,并将其转换为`System.DateTime`类型,最后使用`ToShortDateString`方法格式化为短日期形式。 #### 6. 创建超链接 ```csharp // 创建超链接 CODE:...