我有一个快速的问题(希望很快)。我还在学习中,请多多包涵。
我正在尝试使 DDL 正常工作,其中我的下拉菜单向用户显示一列选项,但实际上,他们选择的选项将使用另一列中该特定选项的 DeviceID。这是我的数据源:
<asp:SqlDataSource ID="RetrieveComputerSQL" runat="server"
ConnectionString="<%$ ConnectionStrings:SynInventory %>"
SelectCommand="SELECT DeviceID + ' ' + Computer as Combo,Computer as Computer,DeviceID AS DeviceID from Hardware">
现在硬件表有 2 个列。
DeviceID = 表中项目的 ID Computer = 连接到该 DeviceID 的机器类型
例如,Hardware 表如下所示:
>Computer (Column) DeviceID (Column)
>------------------ ----------------------
> Thin Client 0
> Desktop 1
> Laptop 2
现在,这是我的 DDL:
<asp:DropDownList ID="ddlComputer" runat="server" AutoPostBack="true"
DataSourceID="RetrieveComputerSQL" DataTextField="Combo" DataValueField="Computer"
SelectedValue='<%# Bind("Computer") %>' AppendDataBoundItems="true">
我想要做的仍然是显示对象的“友好”名称,但实际上,在下拉框中获取所选对象的 DeviceID,然后将该值报告回我的主数据源(即:UPDATE MainAsset SET [site] = @Site,[os] = @os,[device] = @Computer WHERE [pk] = @pk") 其中 [device] 是我的硬件表。
我已经尝试了所有我能想到的方法,并以多种方式操纵了我的 RetrieveComputerSQL DS。我决定以“组合”选项结束,但我尝试过的任何方法似乎都不起作用。
任何建设性的想法或意见肯定会受到赞赏。希望这一切都有意义。
谢谢!