将 EditItemTemplate DropDownList 保存到数据库吗?

发布于 2024-11-02 00:07:45 字数 691 浏览 0 评论 0原文

我有一个实体数据模型,它抽象了底层的 MSSQL 数据库。我有一个连接到 GridView 的 EntityDataSource。 GridView 有许多列 - 大多数是 BoundField,但其中一列是 EditItemTemplate。在此模板内部,我放置了以下内容:

<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 中的“更新”按钮时,它不会使用 datavaluefield 值更新数据库中的值来自编辑项目模板。如何才能将 edititemtemplate 中的选定值保存到数据库中?

I have a Entity Data Model which abstracts an underlying MSSQL database. I have an EntityDataSource which is wired up to a GridView. The GridView has a number of columns - most are BoundFields, but one is an EditItemTemplate. Inside of this template I've placed the following:

<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" />

The code executes okay and I can click edit and change the selected dropdownlist, but when I click the Update button in the GridView it doesn't update the value in the database with the datavaluefield value from the edititemtemplate. How can I get it to save the selected value from the edititemtemplate to the database?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

街角卖回忆 2024-11-09 00:07:45

我认为 DropDownList 的 SelectedValue 的绑定丢失。假设您在网格或表单中编辑一个 User,该用户具有一个 RoleID 属性来引用分配的角色,这可能如下所示:

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

I think that the binding of the DropDownList's SelectedValue is missing. Assuming that you are in a grid or form to edit a User which has a RoleID property to refer to the assigned role, this could look like:

<asp:DropDownList ID="ddlRoles" runat="server" DataSourceID="EditRoleDataSource"
    DataTextField="RoleName" DataValueField="ID" OnInit="ddlRoles_Init" 
    SelectedValue='<%# Bind("RoleID") %>' />
尘世孤行 2024-11-09 00:07:45

EntityDataSource 必须指定 EnableUpdate="true"。检查 MSDN

The EntityDataSource has to specify EnableUpdate="true". Check MSDN.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文