1

我有一個實體數據模型,它抽象了一個底層的MSSQL數據庫。我有一個連接到GridView的EntityDataSource。 GridView有很多列 - 大多數是BoundFields,但其中一個是EditItemTemplate。這裏面的模板,我放在下面:將EditItemTemplate DropDownList保存到數據庫?

<asp:EntityDataSource ID="EditRoleDataSource" runat="server" 
    ConnectionString="name=pbu_checklistEntities" 
    DefaultContainerName="pbu_checklistEntities" EnableFlattening="false" 
    EntitySetName="Roles" /> 

<asp:DropDownList ID="ddlRoles" runat="server" DataSourceID="EditRoleDataSource" 
    DataTextField="RoleName" DataValueField="ID" OnInit="ddlRoles_Init" /> 

代碼執行好,我可以點擊編輯和更改所選的下拉列表,但是當我點擊GridView中更新按鈕,它不更新的價值在數據庫中使用edititemtemplate中的datavaluefield值。我怎樣才能將它從edititemtemplate中選擇的值保存到數據庫?

回答

4

我認爲DropDownList的SelectedValue的綁定丟失。假設你是在一個網格或表格編輯User具有RoleID屬性指的是分配的作用,這可能是這樣的:

<asp:DropDownList ID="ddlRoles" runat="server" DataSourceID="EditRoleDataSource" 
    DataTextField="RoleName" DataValueField="ID" OnInit="ddlRoles_Init" 
    SelectedValue='<%# Bind("RoleID") %>' /> 
0

EntityDataSource必須指定EnableUpdate =「true」。檢查MSDN

+0

EnableUpdate已被設置爲true的GridView的EntityDataSource,即entitydatasource僅用於填充下拉列表... – davemackey 2011-04-15 19:09:13