gpt4 book ai didi

c# - 将 ASP.net DropDownList 的 SelectedValue 绑定(bind)到自定义对象

转载 作者:太空宇宙 更新时间:2023-11-03 14:32:33 25 4
gpt4 key购买 nike

目前我在 FormView 中有一个 DropDownList,数据绑定(bind)到 ObjectDataSource。这是 DropDownList,它有自己的数据源,返回部门列表:

<asp:DropDownList ID="DepartmentsList" DataSourceID="DepartmentsListDataSource" DataTextField="Name" SelectedValue='<%# Bind("Department") %>' runat="server" />

在FormView的datasource中,属性Department定义为:

public Department Department { get; set; }

在这种情况下,我得到了这个异常:

'DepartmentsList' has a SelectedValue which is invalid because it does not exist in the list of items. Parameter name: value

逻辑上我得到这个异常是因为我没有在 DropDownList 上设置 DataValueField。问题是,如果我想将(部门的)完整选定对象数据绑定(bind)回 FormViews 数据源,DataValueField 的值必须是什么?

谢谢。

最佳答案

我不知道是否可以将整个对象绑定(bind)为 SelectedValue
您可以做的是将一个唯一标识符(例如 ID)绑定(bind)到 DataValueField 并通过它的 ID 检索您的对象。
另一种(非常脏)解决方案是将所有相关属性(由例如“;”分隔)放在 DataValueField 中,并使用这些值构造您的对象...但是,正如所说,那真的很脏! ;-)

关于c# - 将 ASP.net DropDownList 的 SelectedValue 绑定(bind)到自定义对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2265852/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com