设置下拉列表的选定值会导致其他下拉列表也获得该选定值

时间:2011-04-16 15:25:26

标签: c# asp.net

我有几个下载列表,我想填写驱动程序。 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];

如何才能使每个下拉列表都有自己选择的值?

1 个答案:

答案 0 :(得分:2)

右。问题就在于这段代码:

AddItemToDropDownLists(item);

在AddItemToDropDownLists方法中,我给 all 我的下拉列表提供了相同的列表项。这使它们的行为相同。解决方案是为每个下拉列表创建一个new ListItem