日韩欧美人妻无码精品白浆,www.大香蕉久久网,狠狠的日狠狠的操,日本好好热在线观看

LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開(kāi)發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

ASP.NET Eval四種綁定方式

admin
2017年11月16日 23:14 本文熱度 6386

ASP.NET Eval四種綁定方式:

1、1.x中的數(shù)據(jù)綁定語(yǔ)法

<asp:Literal id="litEval2" runat="server" Text=''<%#DataBinder.Eval(Container.DataItem, "userName")%>'' />

2、 2.x簡(jiǎn)化Eval數(shù)據(jù)綁定語(yǔ)法

<asp:Literal id="litEval1" runat="server" Text=''<%Eval("userName")%>'' />

3、第二種方法的方法重載

<a href=''<%# Eval("userId","Default.aspx?id={0}")%>''><%# Eval("userName") %></a>

4、eval同時(shí)綁定兩個(gè)值

<a href=''<%# string.Format("Default.aspx?id={0}&role={1}", Eval("userId"),Eval("userRole"))%>''><%# Eval("userName") %></a>

eval_r()方法在運(yùn)行時(shí)使用反射執(zhí)行后期綁定計(jì)算,因此與標(biāo)準(zhǔn)的ASP.NET數(shù)據(jù)綁定方法bind相比,會(huì)導(dǎo)致性能明顯下降。它一般用在綁定時(shí)需要格式化字符串的情況下。多數(shù)情況盡量少用此方法


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

使用 Eval 方法
Eval 方法可計(jì)算數(shù)據(jù)綁定控件(如 GridView、DetailsView 和 FormView 控件)的模板中的后期綁定數(shù)據(jù)表達(dá)式。在運(yùn)行時(shí),Eval 方法調(diào)用 DataBinder 對(duì)象的 Eval 方法,同時(shí)引用命名容器的當(dāng)前數(shù)據(jù)項(xiàng)。命名容器通常是包含完整記錄的數(shù)據(jù)綁定控件的最小組成部分,如 GridView 控件中的一行。因此,只能對(duì)數(shù)據(jù)綁定控件的模板內(nèi)的綁定使用 Eval 方法。

Eval 方法以數(shù)據(jù)字段的名稱(chēng)作為參數(shù),從數(shù)據(jù)源的當(dāng)前記錄返回一個(gè)包含該字段值的字符串??梢蕴峁┑诙€(gè)參數(shù)來(lái)指定返回字符串的格式,該參數(shù)為可選參數(shù)。字符串格式參數(shù)使用為 String 類(lèi)的 Format 方法定義的語(yǔ)法。

使用 Bind 方法
Bind 方法與 Eval 方法有一些相似之處,但也存在很大的差異。雖然可以像使用 Eval 方法一樣使用 Bind 方法來(lái)檢索數(shù)據(jù)綁定字段的值,但當(dāng)數(shù)據(jù)可以被修改時(shí),還是要使用 Bind 方法。

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

Bind 方法通常與輸入控件一起使用,例如由編輯模式中的 GridView 行所呈現(xiàn)的 TextBox 控件。當(dāng)數(shù)據(jù)綁定控件將這些輸入控件作為自身呈現(xiàn)的一部分創(chuàng)建時(shí),該方法便可提取輸入值。

Bind 方法采用數(shù)據(jù)字段的名稱(chēng)作為參數(shù),從而與綁定屬性關(guān)聯(lián),如下面的示例所示:

<EditItemTemplate> 
<table> 
<tr> 
<td align=right> 
<b>Employee ID:</b> 
</td> 
<td> 
<%# eval_r("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 按鈕時(shí),使用 Bind 語(yǔ)法綁定的每個(gè)控件屬性值都會(huì)被提取出來(lái),并傳遞給數(shù)據(jù)源控件以執(zhí)行更新操作。


使用 DataBinder.Eval
ASP.NET 提供了一個(gè)名為 DataBinder.Eval 的靜態(tài)方法,該方法計(jì)算后期綁定的數(shù)據(jù)綁定表達(dá)式,并將結(jié)果格式化為字符串(可選)。利用此方法,可以避免許多在將值強(qiáng)制為所需數(shù)據(jù)類(lèi)型時(shí)必須執(zhí)行的顯式強(qiáng)制轉(zhuǎn)換操作。

例如,在下面的代碼片段中,一個(gè)整數(shù)顯示為貨幣字符串。使用標(biāo)準(zhǔn)的 ASP.NET 數(shù)據(jù)綁定語(yǔ)法,必須首先強(qiáng)制轉(zhuǎn)換數(shù)據(jù)行的類(lèi)型以便檢索數(shù)據(jù)字段 IntegerValue。然后,這將作為參數(shù)傳遞到 String.Format 方法:

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


將此語(yǔ)法與 DataBinder.Eval 的語(yǔ)法進(jìn)行比較,后者只有三個(gè)參數(shù):數(shù)據(jù)項(xiàng)的命名容器、數(shù)據(jù)字段名稱(chēng)和格式字符串。在模板化列表中(如 DataList 類(lèi)、DataGrid 類(lèi)或 Repeater 類(lèi)),命名容器始終是 Container.DataItem。

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


格式字符串參數(shù)是可選的。如果它被忽略,DataBinder.Eval 將返回類(lèi)型對(duì)象的值,如下面的示例所示:
<%# (bool)DataBinder.eval_r(Container.DataItem, "BoolValue") %>
當(dāng)對(duì)模板化列表中的控件進(jìn)行數(shù)據(jù)綁定時(shí),DataBinder.Eval 特別有用,因?yàn)閿?shù)據(jù)行和數(shù)據(jù)字段通常都必須強(qiáng)制轉(zhuǎn)換。


在TemplateField模板中為了能夠有限制的或者取出數(shù)據(jù)庫(kù)中某列的值時(shí),可以用Bind和Eval方法來(lái)實(shí)現(xiàn)。以下是Bind方法的格式,Eval的格式也是和Bind一樣的。 Bind("列的名稱(chēng)","顯示的格式文")

比如我們要取個(gè)日期型的數(shù)據(jù),在數(shù)據(jù)庫(kù)中列名是updated,數(shù)值是2008/06/01。但是想2008年06月01日這樣顯示,我們可以這樣來(lái)寫(xiě)B(tài)ind("updated", "{0:yyyy年MM月dd日}"),Eval也是如此。

兩者都能讀取數(shù)據(jù)中的值,并顯示。當(dāng)我們使用編輯更新操作時(shí),Bind能夠自動(dòng)的將修改的值更新到數(shù)據(jù)庫(kù)中,并顯示出修改后的值。但是用了Eval卻只能得到錯(cuò)誤畫(huà)面,新的數(shù)據(jù)沒(méi)有更新到數(shù)據(jù)庫(kù)中。

從這點(diǎn)看來(lái),Bind方法和Eval方法的區(qū)別就是:Bind方法在讀取和更新數(shù)據(jù)這2方面都是可以,但是Eval方法只能讀取顯示數(shù)據(jù)。所以,我們?cè)谶x擇Bind方法和Eval方法的時(shí)候,必須要有爭(zhēng)對(duì)性,當(dāng)數(shù)據(jù)肯定需要更新操作的時(shí)候我們應(yīng)該使用Bind,只是顯示數(shù)據(jù),不會(huì)有任何操作的就可以使用Eval方法。

在更新操作中我們可以在GridView1_RowUpdating事件中操作,例子如下:

如果我們能充分理解Bind方法和Eval方法,其實(shí)也就沒(méi)必要向上面那樣去寫(xiě),都是可以自動(dòng)完成的。上面的方法除了比較復(fù)雜的操作才會(huì)用到,這也是一個(gè)使用技巧。


該文章在 2017/11/16 23:14:09 編輯過(guò)
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點(diǎn)晴ERP是一款針對(duì)中小制造業(yè)的專(zhuān)業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國(guó)內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對(duì)港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場(chǎng)、車(chē)隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場(chǎng)作業(yè)而開(kāi)發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類(lèi)企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉(cāng)儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷(xiāo)售管理,采購(gòu)管理,倉(cāng)儲(chǔ)管理,倉(cāng)庫(kù)管理,保質(zhì)期管理,貨位管理,庫(kù)位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號(hào)管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved

亚洲日韩乱码一区二区三区四区| 国产精品无码一区二区三区京香郡| 日韩欧美扶他女同| 一般男女 中文字幕| 黄色网夫妻性生活中文| 禁品一二三区| 久久久黄淫荡黄色影院| 日本久久AⅤ麻豆毛片| 小妓女av| 久久6一区| 亚洲精品36p| 欧美日韩专区在线观看| 干欧美老熟女视频| 日本一区二区三区免费视频在线| 亚洲日韩中文字幕版黄片| 无码久久久久久久久久久| 亚洲一区小穴| 亚洲美女操av女| 午夜精品久久久久久长毛了| 乱子伦91精品亚| 91天天色色| 日韩欧美国产性感一区| 日欧精品一区| 啊啊我要用力插进来视频| 日本久理论片| 亚洲黄色六| 欧美影院不卡| 大香蕉伊人一道本成人| AV在线小电影| 999午夜在线| 片集网日本18禁| 亚州精品色隋| 91精品国产综合久久久蜜臀视频| 高清插入免费在线| 国产一区二区九一久久激情69| 亚洲黄色在线视频| 熟女少妇一二三区| 麻豆国产九八精品视频| 麻豆精品秘 无码网站| 爽爽爽爽网站2| 你懂的在线观看一区国产|