在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
1、1.x中的数据绑定语法 <asp:Literal )%>' /> 2、 2.x简化Eval数据绑定语法 <asp:Literal )%>' /> 3、第二种方法的方法重载 <a href='<%# Eval("userId","Default.aspx?id={0}")%>'><%# Eval("userName") %></a> 4、eval同时绑定两个值 <a href='<%# string.Format("Default.aspx?id={0}&role={1}", Eval("userId"),Eval("userRole"))%>'><%# Eval("userName") %></a> eval_r()方法在运行时使用反射执行后期绑定计算,因此与标准的ASP.NET数据绑定方法bind相比,会导致性能明显下降。它一般用在绑定时需要格式化字符串的情况下。多数情况尽量少用此方法 Eval 方法是静态(只读)方法,该方法采用数据字段的值作为参数并将其作为字符串返回。Bind 方法支持读/写功能,可以检索数据绑定控件的值并将任何更改提交回数据库。 使用 Eval 方法 Eval 方法以数据字段的名称作为参数,从数据源的当前记录返回一个包含该字段值的字符串。可以提供第二个参数来指定返回字符串的格式,该参数为可选参数。字符串格式参数使用为 String 类的 Format 方法定义的语法。 使用 Bind 方法 在 ASP.NET 中,数据绑定控件(如 GridView、DetailsView 和 FormView 控件)可自动使用数据源控件的更新、删除和插入操作。例如,如果已为数据源控件定义了 SQL Select、Insert、Delete 和 Update 语句,则通过使用 GridView、DetailsView 或 FormView 控件模板中的 Bind 方法,就可以使控件从模板中的子控件中提取值,并将这些值传递给数据源控件。然后数据源控件将执行适当的数据库命令。出于这个原因,在数据绑定控件的 EditItemTemplate 或 InsertItemTemplate 中要使用 Bind 函数。 Bind 方法通常与输入控件一起使用,例如由编辑模式中的 GridView 行所呈现的 TextBox 控件。当数据绑定控件将这些输入控件作为自身呈现的一部分创建时,该方法便可提取输入值。 Bind 方法采用数据字段的名称作为参数,从而与绑定属性关联,如下面的示例所示: <EditItemTemplate> 单击行的 Update 按钮时,使用 Bind 语法绑定的每个控件属性值都会被提取出来,并传递给数据源控件以执行更新操作。 使用 DataBinder.Eval 例如,在下面的代码片段中,一个整数显示为货币字符串。使用标准的 ASP.NET 数据绑定语法,必须首先强制转换数据行的类型以便检索数据字段 IntegerValue。然后,这将作为参数传递到 String.Format 方法: <%# String.Format("{0:c}", ((DataRowView)Container.DataItem)["IntegerValue"]) %> 将此语法与 DataBinder.Eval 的语法进行比较,后者只有三个参数:数据项的命名容器、数据字段名称和格式字符串。在模板化列表中(如 DataList 类、DataGrid 类或 Repeater 类),命名容器始终是 Container.DataItem。 <%# DataBinder.eval_r(Container.DataItem, "IntegerValue", "{0:c}") %> 格式字符串参数是可选的。如果它被忽略,DataBinder.Eval 将返回类型对象的值,如下面的示例所示: 在TemplateField模板中为了能够有限制的或者取出数据库中某列的值时,可以用Bind和Eval方法来实现。以下是Bind方法的格式,Eval的格式也是和Bind一样的。 Bind("列的名称","显示的格式文") 比如我们要取个日期型的数据,在数据库中列名是updated,数值是2008/06/01。但是想2008年06月01日这样显示,我们可以这样来写Bind("updated", "{0:yyyy年MM月dd日}"),Eval也是如此。 两者都能读取数据中的值,并显示。当我们使用编辑更新操作时,Bind能够自动的将修改的值更新到数据库中,并显示出修改后的值。但是用了Eval却只能得到错误画面,新的数据没有更新到数据库中。 从这点看来,Bind方法和Eval方法的区别就是:Bind方法在读取和更新数据这2方面都是可以,但是Eval方法只能读取显示数据。所以,我们在选择Bind方法和Eval方法的时候,必须要有争对性,当数据肯定需要更新操作的时候我们应该使用Bind,只是显示数据,不会有任何操作的就可以使用Eval方法。 在更新操作中我们可以在GridView1_RowUpdating事件中操作,例子如下: 如果我们能充分理解Bind方法和Eval方法,其实也就没必要向上面那样去写,都是可以自动完成的。上面的方法除了比较复杂的操作才会用到,这也是一个使用技巧。 EVAL时间绑定: <%# Eval("C_FromTime","{0:d}") %>
DateTime.Parse(EquInfo.FindEquInfoByID(Request["id"]).InDate).ToShortDateString()
标准的Format格式Format Format 模式 d MM/dd/yyyy 如(2001-3-27) D dddd, MMMM dd, yyyy 如(2001年3月27日) f dddd, MMMM dd, yyyy HH:mm 如(2001年3月27日 0:00) F dddd, MMMM dd, yyyy HH:mm:ss 如(2001年3月27日 0:00:00) g MM/dd/yyyy HH:mm 如(2001-3-27 0:00) G MM/dd/yyyy HH:mm:ss 如(2001-3-27 0:00:00) m, M MMMM dd 如(三月 27) r, R ddd, dd MMM yyyy HH’:’mm’:’ss ’GMT’ 如(Mon, 26 Mar 2001 16:00:00 GMT) s yyyy-MM-dd HH:mm:ss 好像不能使用 t HH:mm 如(0:00) T HH:mm:ss 如(0:00:00) u yyyy-MM-dd HH:mm:ss 如(2001-03-26 16:00:00Z) U dddd, MMMM dd, yyyy HH:mm:ss 如(2001年3月26日 16:00:00) y, Y MMMM, yyyy 如(2001年3月) 自定义格式列表Format Pattern Description
d 如:2001-3-27 dd 如:27 ddd 如:星期一 dddd 如:星期一(全名) M 如:三月 27 MM 如:03 MMM 如:三月 MMMM 如:三月(全称) y 如:2001年3月 yy 如:01 yyyy 如:2001 gg 如:A.D. hh, hh* 如:12 HH, HH* 如:00 m 如:三月 27 mm, mm* 如:00(分钟) s 如:2001-03-27T00:00:00 ss, ss* 如:00(秒) t 如:0:00 tt, tt* 如:上午
<%# Eval("C_FromTime","{0:d}") %>
DateTime.Parse(EquInfo.FindEquInfoByID(Request["id"]).InDate).ToShortDateString()
标准的Format格式Format Format 模式 d MM/dd/yyyy 如(2001-3-27) D dddd, MMMM dd, yyyy 如(2001年3月27日) f dddd, MMMM dd, yyyy HH:mm 如(2001年3月27日 0:00) F dddd, MMMM dd, yyyy HH:mm:ss 如(2001年3月27日 0:00:00) g MM/dd/yyyy HH:mm 如(2001-3-27 0:00) G MM/dd/yyyy HH:mm:ss 如(2001-3-27 0:00:00) m, M MMMM dd 如(三月 27) r, R ddd, dd MMM yyyy HH’:’mm’:’ss ’GMT’ 如(Mon, 26 Mar 2001 16:00:00 GMT) s yyyy-MM-dd HH:mm:ss 好像不能使用 t HH:mm 如(0:00) T HH:mm:ss 如(0:00:00) u yyyy-MM-dd HH:mm:ss 如(2001-03-26 16:00:00Z) U dddd, MMMM dd, yyyy HH:mm:ss 如(2001年3月26日 16:00:00) y, Y MMMM, yyyy 如(2001年3月) 自定义格式列表Format Pattern Description
d 如:2001-3-27 dd 如:27 ddd 如:星期一 dddd 如:星期一(全名) M 如:三月 27 MM 如:03 MMM 如:三月 MMMM 如:三月(全称) y 如:2001年3月 yy 如:01 yyyy 如:2001 gg 如:A.D. hh, hh* 如:12 HH, HH* 如:00 m 如:三月 27 mm, mm* 如:00(分钟) s 如:2001-03-27T00:00:00 ss, ss* 如:00(秒) t 如:0:00 tt, tt* 如:上午 |
请发表评论