狠狠色丁香婷婷综合尤物/久久精品综合一区二区三区/中国有色金属学报/国产日韩欧美在线观看 - 国产一区二区三区四区五区tv

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

asp.net 中 Eval() Bind() <%%> <%=%> 總結

admin
2017年11月17日 9:32 本文熱度 6506
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一樣可以接受一個可選的格式化字符串參數??s短的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中輸出一個變量,表達式。。

該文章在 2017/11/17 9:32:36 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved