DropDownList仅选择最高值

时间:2016-10-25 09:09:08

标签: c# asp.net list copy

我有一个文本框,点击按钮即可填充。 当我点击按钮时,它会比较一些值,然后将值从下拉列表复制到第一个文本框。

但是下拉列表只复制第一个值,即使我选择第二个或第三个值,它也会复制第一个值。

这是我的代码:

protected void BtnOrderKoppelen_Click(object sender, EventArgs e)
    {
        if(DDLLijnRequest.Text == "Lijn1")
        {
            TbProd5.Text = DDLVrijgeefOrder.Text;
        }

        else if (DDLLijnRequest.Text == "Lijn2")
        {
            TbProd6.Text = DDLVrijgeefOrder.Text;
        }

        else if (DDLLijnRequest.Text == "Lijn3")
        {
            TbProd7.Text = DDLVrijgeefOrder.Text;
        }

        else if (DDLLijnRequest.Text == "Lijn4")
        {
            TbProd8.Text = DDLVrijgeefOrder.Text;
        }

    }

DDLLijnRequest =我的生产线比较的下拉列表

TbProd(5到8)=是文本框,来自DDLVrijgeefOrder的数据必须转到

DDLVrijgeefOrder =一个下拉列表,我选择一个订单并希望它复制到文本框。

有没有办法可以复制我在DDLVrijgeefOrder中选择的任何值?

这是我的页面加载,它与按钮点击或下拉列表没有任何关联。我必须在这里添加一些东西吗? :

        protected void Page_Load(object sender, EventArgs e)
    {
        if (Session["MesLogin"] == null)
        {
            Response.Redirect("StartPagina.aspx");
        }
        else
        {
            LblSession.Text = "Welcome" + Session["MesLogin"].ToString();
        }

    }

提前谢谢!

2 个答案:

答案 0 :(得分:1)

希望您在Page_load事件中始终绑定下拉值。下拉数据源应该仅在第一次绑定,否则它将始终绑定到第一个值。

示例:

Void Page_Load()
{
  if(!IsNotPostBack)
  {
    // bind drop down values here
  }
}

如果上述解决方案无效,请发布更多代码,例如Page_Load事件

答案 1 :(得分:0)

根据您的问题的上下文,您正在使用WinForms吗?

以下链接为您的问题提供了一个很好的答案:

How to create a drop down menu in WinForms and C#

  

请注意,您可以将任何类型的项添加到ComboBox。如果你不这样做   指定DisplayMember和ValueMember属性,ComboBox   使用对象的ToString方法来确定文本   显示,您可以检索所选项目(未选中的值)   通过SelectedItem属性。

class Person
{
 public int PersonID { get; set }
 public string FirstName { get; set; }
 public string LastName { get; set; }

 public override string ToString()
 {
     return FirstName + " " + LastName;
 }
}

最终你可以做到

Person selectedPerson = (Person)myComboBox.SelectedItem;
int personID = selectedPerson.PersonID;