C# 关于下拉列表选择

C# 关于下拉列表选择,c#,asp.net,C#,Asp.net,我对asp.net有点陌生,所以如果我的问题很傻,请原谅我 实际上,我正在通过窗口加载一个页面(aspx)。打开。一切都很顺利,窗口中有请求的页面 此页面在同一行中有两个面板,即在两个td中 一个面板用于显示来自不同来源的数据,另一个面板用于显示不同来源的数据。 现在我的问题是这个下拉列表。在我的页面中,我有大约10个下拉列表,5个是左侧,5个是右侧 当我为两侧的下拉列表设置值时(左列5个下拉列表具有不同的值,第列5个下拉列表具有不同的值) 我有两种不同的方法来“选择vlues”,用于每一侧的下

我对asp.net有点陌生,所以如果我的问题很傻,请原谅我

实际上,我正在通过
窗口加载一个页面(aspx)。打开
。一切都很顺利,窗口中有请求的页面

此页面在同一行中有两个面板,即在两个td中

一个面板用于显示来自不同来源的数据,另一个面板用于显示不同来源的数据。
现在我的问题是这个下拉列表。在我的页面中,我有大约10个下拉列表,5个是左侧,5个是右侧

当我为两侧的下拉列表设置值时(左列5个下拉列表具有不同的值,第列5个下拉列表具有不同的值)

我有两种不同的方法来“选择vlues”,用于每一侧的下拉列表

现在的问题是……。无论我最后调用哪个方法……。值都出现在下拉列表的两侧。虽然我使用了不同的方法来选择值

请参阅pageload调用的代码片段

if (!IsPostBack)
{ 
   // methods for filling all dropdowns-----
   FetchData();  // for first side 
   FetchData_Q2(); // second side                                         
}


private void FetchData() 
{ 
     ddlCardType.SelectedValue = "2"; 
     ddlProductType.SelectedValue = "5"; 
} 

private void FetchData_Q2() 
{ 
     ddlCardType.SelectedValue = "1"; 
     ddlProductType.SelectedValue = "1"; 
}
因此,这里的第一面(FetchData())下拉列表也显示了与第二面(FetchData_Q2())相同的数据


希望你能解决我的问题。

如果你能发布你的代码就更好了

但是作为一个建议,我会说在两个不同的reapter控件中添加dropdownlist,然后在repeater控件的ItemDataBound事件中填充dropdownlist

更好的选择是在每个td(或您的面板)中使用如下jQuery:


for(var i=0;i如果要为dropdownlist设置选定值,必须更改selectedindex。您可以尝试以下操作:

private void FetchData()
{
    ddlCardType.SelectedIndex = ddlCardType.Items.IndexOf(ddlCardType.Items.FindByValue("2"));
    ddlProductType.SelectedIndex = ddlProductType.Items.IndexOf(ddlProductType.Items.FindByValue("5"));
}

private void FetchData_Q2()
{
    ddlCardType.SelectedIndex = ddlCardType.Items.IndexOf(ddlCardType.Items.FindByValue("1"));
    ddlProductType.SelectedIndex = ddlProductType.Items.IndexOf(ddlProductType.Items.FindByValue("1"));
}
很抱歉,如果没有看到您的代码,没有人会“理解”您的问题。如果没有看到函数/标记,向我们显示对函数的调用绝对没有任何意义。向我们显示您的代码FetchData()和FetchData_Q2()private void FetchData(){ddlCardType.SelectedValue=“2”;ddlProductType.SelectedValue=“5”}private void FetchData_Q2(){ddlCardType.SelectedValue=“1”ddlProductType.SelectedValue=“1”}但这两个边值的显示方式与第二个边值相同。下拉列表为…private void FetchData(){ddlCardType.SelectedValue=“2”ddlProductType.SelectedValue=“5”}private void FetchData_Q2(){ddlCardType.SelectedValue=“1”ddlProductType.SelectedValue=“1”}但对于这两个边值,其显示方式与第二个边值相同。
private void FetchData()
{
    ddlCardType.SelectedIndex = ddlCardType.Items.IndexOf(ddlCardType.Items.FindByValue("2"));
    ddlProductType.SelectedIndex = ddlProductType.Items.IndexOf(ddlProductType.Items.FindByValue("5"));
}

private void FetchData_Q2()
{
    ddlCardType.SelectedIndex = ddlCardType.Items.IndexOf(ddlCardType.Items.FindByValue("1"));
    ddlProductType.SelectedIndex = ddlProductType.Items.IndexOf(ddlProductType.Items.FindByValue("1"));
}