|
Eval 方法是靜態(tài)(只讀)方法,該方法采用數據字段的值作為參數并將其作為字符串返回。Bind 方法支持讀/寫(xiě)功能,可以檢索數據綁定控件的值并將任何更改提交回數據庫。 使用 Eval 方法 Eval 方法可計算數據綁定控件(如 GridView、DetailsView 和 FormView 控件)的模板中的后期綁定數據表達式。在運行時(shí),Eval 方法調用 DataBinder 對象的 Eval 方法,同時(shí)引用命名容器的當前數據項。命名容器通常是包含完整記錄的數據綁定控件的最小組成部分,如 GridView 控件中的一行。因此,只能對數據綁定控件的模板內的綁定使用 Eval 方法。 Eval 方法以數據字段的名稱(chēng)作為參數,從數據源的當前記錄返回一個(gè)包含該字段值的字符串??梢蕴峁┑诙€(gè)參數來(lái)指定返回字符串的格式,該參數為可選參數。字符串格式參數使用為 String 類(lèi)的 Format 方法定義的語(yǔ)法。 使用 Bind 方法 Bind 方法與 Eval 方法有一些相似之處,但也存在很大的差異。雖然可以像使用 Eval 方法一樣使用 Bind 方法來(lái)檢索數據綁定字段的值,但當數據可以被修改時(shí),還是要使用 Bind 方法。 在 ASP.NET 中,數據綁定控件(如 GridView、DetailsView 和 FormView 控件)可自動(dòng)使用數據源控件的更新、刪除和插入操作。例如,如果已為數據源控件定義了 SQL Select、Insert、Delete 和 Update 語(yǔ)句,則通過(guò)使用 GridView、DetailsView 或 FormView 控件模板中的 Bind 方法,就可以使控件從模板中的子控件中提取值,并將這些值傳遞給數據源控件。然后數據源控件將執行適當的數據庫命令。出于這個(gè)原因,在數據綁定控件的 EditItemTemplate 或 InsertItemTemplate 中要使用 Bind 函數。 Bind 方法通常與輸入控件一起使用,例如由編輯模式中的 GridView 行所呈現的 TextBox 控件。當數據綁定控件將這些輸入控件作為自身呈現的一部分創(chuàng )建時(shí),該方法便可提取輸入值。 Bind 方法采用數據字段的名稱(chēng)作為參數,從而與綁定屬性關(guān)聯(lián),如下面的示例所示: <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 按鈕時(shí),使用 Bind 語(yǔ)法綁定的每個(gè)控件屬性值都會(huì )被提取出來(lái),并傳遞給數據源控件以執行更新操作。 |
聯(lián)系客服