我正在使用 ASP.Net MVC 3,我需要创建一个下拉列表,其中包含与多个数据库表相关的项目。
通常,如果我需要为单个数据类型创建一个下拉列表,我可以轻松地将 ID 用作每个下拉列表的“值”,option
并且会执行以下操作:
@Html.DropDownListFor(x => x.SelectedID, Model.GetMyList())
但现在我想混合多种数据类型。所以让我们说对于这个例子,我想创建一个列表来表示像“所有者”这样的东西,它可以是“用户”或“客户”。在此示例中,User 和 Customer 都是单独的数据库表,因此仅 ID 值不足以正确识别它们。
那么实现此类功能的最佳方法是什么?
直接在我的脑海中,我的第一个想法是创建一个“自定义”值字符串,然后可以在服务器端解析它以计算出 ID 和数据类型,比如......
"USER|1"
"CUSTOMER|1"
我知道我可以完成这项工作,但我是否让这变得比需要的更复杂?是否有内置或建议的方式来执行此操作?