日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

GridView 中 Bind和Eval的区别详解

發布時間:2025/3/8 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 GridView 中 Bind和Eval的区别详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Eval()方法在運行時使用反射執行后期綁定計算,因此與標準的ASP.NET數據綁定方法bind相比,會導致性能明顯下降。它一般用在綁定時需要格式化字符串的情況下。多數情況盡量少用此方法


Eval 方法是靜態(只讀)方法,該方法采用數據字段的值作為參數并將其作為字符串返回。Bind 方法支持讀/寫功能,可以檢索數據綁定控件的值并將任何更改提交回數據庫。

使用 Eval 方法
Eval 方法可計算數據綁定控件(如 GridView、DetailsView 和 FormView 控件)的模板中的后期綁定數據表達式。在運行時,Eval 方法調用 DataBinder 對象的 Eval 方法,同時引用命名容器的當前數據項。命名容器通常是包含完整記錄的數據綁定控件的最小組成部分,如 GridView 控件中的一行。因此,只能對數據綁定控件的模板內的綁定使用 Eval 方法。

Eval 方法以數據字段的名稱作為參數,從數據源的當前記錄返回一個包含該字段值的字符串。可以提供第二個參數來指定返回字符串的格式,該參數為可選參數。字符串格式參數使用為 String 類的 Format 方法定義的語法。

使用 Bind 方法
Bind 方法與 Eval 方法有一些相似之處,但也存在很大的差異。雖然可以像使用 Eval 方法一樣使用 Bind 方法來檢索數據綁定字段的值,但當數據可以被修改時,還是要使用 Bind 方法。??

在 ASP.NET 中,數據綁定控件(如 GridView、DetailsView 和 FormView 控件)可自動使用數據源控件的更新、刪除和插入操作。例如,如果已為數據源控件定義了 SQL Select、Insert、Delete 和 Update 語句,則通過使用 GridView、DetailsView 或 FormView 控件模板中的 Bind 方法,就可以使控件從模板中的子控件中提取值,并將這些值傳遞給數據源控件。然后數據源控件將執行適當的數據庫命令。出于這個原因,在數據綁定控件的 EditItemTemplate 或 InsertItemTemplate 中要使用 Bind 函數。

Bind 方法通常與輸入控件一起使用,例如由編輯模式中的 GridView 行所呈現的 TextBox 控件。當數據綁定控件將這些輸入控件作為自身呈現的一部分創建時,該方法便可提取輸入值。??

Bind 方法采用數據字段的名稱作為參數,從而與綁定屬性關聯,如下面的示例所示:

<EditItemTemplate>
??<table>
????<tr>
??????<td align=right>
????????<b>Employee ID:</b>
??????</td>
??????<td>
????????<%# Eval("EmployeeID") %>
??????</td>
????</tr>
????<tr>
??????<td align=right>
????????<b>First Name:</b>
??????</td>
??????<td>
????????<asp:TextBox ID="EditFirstNameTextBox" RunAt="Server"
??????????Text='<%# Bind("FirstName") %>' />
??????</td>
????</tr>
????<tr>
??????<td align=right>
????????<b>Last Name:</b>
??????</td>
??????<td>
????????<asp:TextBox ID="EditLastNameTextBox" RunAt="Server"
????????????Text='<%# Bind("LastName") %>'??/>
??????</td>
????</tr>
????<tr>
??????<td colspan="2">
????????<asp:LinkButton ID="UpdateButton" RunAt="server"
??????????Text="Update" CommandName="Update" />
??????????
????????<asp:LinkButton ID="CancelUpdateButton" RunAt="server"
??????????Text="Cancel" CommandName="Cancel" />
??????</td>
????</tr>
??</table>
</EditItemTemplate>

單擊行的 Update 按鈕時,使用 Bind 語法綁定的每個控件屬性值都會被提取出來,并傳遞給數據源控件以執行更新操作。


使用 DataBinder.Eval
ASP.NET 提供了一個名為 DataBinder.Eval 的靜態方法,該方法計算后期綁定的數據綁定表達式,并將結果格式化為字符串(可選)。利用此方法,可以避免許多在將值強制為所需數據類型時必須執行的顯式強制轉換操作。

例如,在下面的代碼片段中,一個整數顯示為貨幣字符串。使用標準的 ASP.NET 數據綁定語法,必須首先強制轉換數據行的類型以便檢索數據字段 IntegerValue。然后,這將作為參數傳遞到 String.Format 方法:

<%# String.Format("{0:c}", ((DataRowView)Container.DataItem)["IntegerValue"]) %>


將此語法與 DataBinder.Eval 的語法進行比較,后者只有三個參數:數據項的命名容器、數據字段名稱和格式字符串。在模板化列表中(如 DataList 類、DataGrid 類或 Repeater 類),命名容器始終是 Container.DataItem。

<%# DataBinder.Eval(Container.DataItem, "IntegerValue", "{0:c}") %>

??
格式字符串參數是可選的。如果它被忽略,DataBinder.Eval 將返回類型對象的值,如下面的示例所示:

<%# (bool)DataBinder.Eval(Container.DataItem, "BoolValue") %>

當對模板化列表中的控件進行數據綁定時,DataBinder.Eval 特別有用,因為數據行和數據字段通常都必須強制轉換。

?

?

1。Eval和Bind的區別
綁定表達式
<%# Eval("字段名") %>
<%# Bind("字段名") %>


區別 1。eval是只讀數據,bind是可更新的.


2.當對次表達式操作時候,必須用Eval 如<%# Eval("字段名").ToString().Trim() %>

2.若GridView中綁定列里面 設置 內容格式 DataFormateString ={0:d} ,則 必須把 屬性 HtmlCode 設置為false,否則無法起作用;

Eval 單向綁定:數據是只讀的
Bind 雙向綁定:數據可以更改,并返回服務器端,服務器可以處理更改后的數據,如存入數據庫.

----<%# DataBinder.Eval(Container.DataItem,"dateandtime","{0:D}")%> //----2006年10月27日
----<%# DataBinder.Eval(Container.DataItem,"dateandtime","{0:F}")%>//----2006年10月27日 8:31:44
----<%# DataBinder.Eval(Container.DataItem,"dateandtime","{0:G}")%>//----2006-10-27 8:31:44
----<%# DataBinder.Eval(Container.DataItem,"dateandtime","{0:M}")%>//----10月27日


-<%# DataBinder.Eval(Container.DataItem,"dateandtime","{0:R}")%>//----Fri, 27 Oct 2006 08:31:44GMT
----<%# DataBinder.Eval(Container.DataItem,"dateandtime","{0:T}")%>//----8:31:44
----<%# DataBinder.Eval(Container.DataItem,"dateandtime","{0:U}")%>//----2006年10月27日 0:31:44
----<%# DataBinder.Eval(Container.DataItem,"dateandtime","{0:Y}")%>//----2006年10月

轉載于:https://www.cnblogs.com/30ErLi/archive/2010/09/17/1828846.html

總結

以上是生活随笔為你收集整理的GridView 中 Bind和Eval的区别详解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 色啊色 | 日韩欧美高清dvd碟片 | 美女福利在线视频 | 久久精品偷拍视频 | 国产精品手机在线 | 91精品毛片 | 中文字幕第11页 | 影音先锋欧美资源 | 一区二区三区四区视频在线观看 | 黄视频网站在线 | 在线观看视频日韩 | 亚洲av无码一区二区三区在线观看 | 色呦呦日韩精品 | 国产精品一区二区三区四区五区 | juliaann欧美二区三区 | 精品无码国产污污污免费网站 | 国产主播在线一区 | 亚洲一区二区在线视频 | 国产吞精囗交免费视频 | 国产又大又黑又粗 | 官场艳妇疯狂性关系 | 另类欧美尿交 | 欧美打屁股 | 国产男女无遮挡猛进猛出 | 97精品在线观看 | 成年人免费在线观看视频网站 | 99久久99久久精品免费看蜜桃 | 97caop| av在线电影网站 | 在线视频这里只有精品 | 亚洲激情自拍偷拍 | 韩日中文字幕 | 中文字幕网站在线观看 | 国产精品12区 | www成年人 | 四虎午夜影院 | caoporen在线| 成人香蕉网 | 99精品影视 | av色综合 | 国内精品一区二区三区 | 欧美激情精品久久久久久 | 久久精品99久久久久久 | 尤物网站在线播放 | 人人妻人人藻人人爽欧美一区 | 亚洲成人第一网站 | 亚洲一二三区av | 成年人免费在线 | n0659极腔濑亚美莉在线播放播放 | 亚洲咪咪| 日韩免费三级 | 免费福利小视频 | 丁香视频在线观看 | 伊人久久激情 | 黑人巨大精品欧美黑白配亚洲 | 鲁鲁久久 | 爱情岛论坛成人 | 亚洲一区二区中文字幕 | 尹人成人| 精品国产乱码久久久久夜深人妻 | 丁香久久 | xx视频在线 | 欧美另类在线观看 | 羞羞羞网站 | 日韩黄色a级片 | www.xxx国产| 午夜影视体验区 | 久久久全国免费视频 | 日韩一区二区不卡视频 | 欧美日韩国产综合网 | 日韩爱爱免费视频 | 日日骚影院 | 日韩精品一区二区三区四区 | 领导揉我胸亲奶揉下面 | 阿v天堂2017 欧美小视频在线观看 | 亚洲一区二区在线观看视频 | 中文字幕+乱码+中文乱码www | 亚洲精品乱码久久久久久写真 | av导航站 | 成年人在线免费观看视频网站 | 久久精品2019中文字幕 | 麻豆一区二区在线观看 | 日日摸天天爽天天爽视频 | 久久精品黄aa片一区二区三区 | 182tv午夜| 蜜乳av 懂色av 粉嫩av | 亚洲综合在线一区 | 五月婷婷激情在线 | www.三级.com| 国产精品羞羞答答 | 精品国产乱码久久久久久闺蜜 | 国产黄色网址在线观看 | 亚洲精品xxxx | 91美女网站 | 中文字幕 国产精品 | 特级毛片a | 欧美日韩在线观看一区 | 91综合在线| 免费视频网站www |