我有几个下载列表,我想填写驱动程序。 aspx如下:
<asp:DropDownList ID="DriversPolePositionDropDownList" runat="server" />
<br />
<asp:DropDownList ID="Drivers2ndPositionDropDownList" runat="server" />
<br />
<asp:DropDownList ID="Drivers3rdPositionDropDownList" runat="server" />
等
问题是,在每个下拉列表中都填充了驱动程序,并且我想设置一个下拉列表中的选定项目时,它会在 所有 下拉列表中进行设置。填充驱动程序的下拉列表与选择要显示的ddl的值是一个单独的步骤。
void AddDriver(string driverName, int driverId)
{
ListItem item = new ListItem(driverName, driverId.ToString());
AddItemToDropDownLists(item);
}
然后
string DriverPolePosition
{
get { return DriversPolePositionDropDownList.SelectedValue; }
set { DriversPolePositionDropDownList.SelectedValue = value; }
}
设置所选值的代码(它只是一个下拉列表,我尝试选择值):
predictionDetailsView.DriverPolePosition =
response.SelectedDrivers[(int)DriverPositions.PolePosition];
如何才能使每个下拉列表都有自己选择的值?
答案 0 :(得分:2)
右。问题就在于这段代码:
AddItemToDropDownLists(item);
在AddItemToDropDownLists方法中,我给 all 我的下拉列表提供了相同的列表项。这使它们的行为相同。解决方案是为每个下拉列表创建一个new ListItem
。