【问题标题】:Dropdownlist selected value at Selectedindexchanged eventSelectedindexchanged 事件中的下拉列表选定值
【发布时间】:2012-02-21 02:09:59
【问题描述】:

我正在使用 Vb.net 在 asp.net 网站上工作,并且我有一个 autopostback = true 的下拉列表,当我更改项目时需要获取选定的值,或者我想获取触发 selectedindexchanged 事件的项目..

请帮忙..

【问题讨论】:

    标签: asp.net drop-down-menu selectedindexchanged


    【解决方案1】:

    在即。你的 Page_Load 集

    this.ComboBox1.SelectedIndexChanged += new System.EventHandler(ComboBox1_SelectedIndexChanged);
    

    然后像这样编写事件处理程序:

    private void ComboBox1_SelectedIndexChanged(object sender, System.EventArgs e)
    {
      ComboBox comboBox = (ComboBox) sender;
      string selected = (string) comboBox.SelectedItem;
    }
    

    确保在设置组合框默认值之前在您的 Page_Load 中编写此内容,否则您最终将始终是选定项:

    if (Page.IsPostBack)
      return;
    

    【讨论】:

    • 我编辑了我的答案,您需要注意 Page_Load 在 SelectedIndexChanged 之前执行,因此您在此处对组合框执行的任何操作都会影响您的结果。使用 Page_Load 顶部的 if 语句。
    • 不应该是这个:ComboBox1.SelectedItem; 是这个:comboBox.SelectedItem; 吗?
    • 令人惊讶的是,OP 在问题中指定他正在使用 Vb.net 在 asp.net 网站上工作,但这里的所有答案都是 C#?大声笑
    【解决方案2】:

    试试这个:

        protected void list_SelectedIndexChanged(object sender, EventArgs e)
        {
            DropDownList list = (DropDownList)sender;
            string value = (string)list.SelectedValue;
        }
    

    【讨论】:

    • 这给了我一个无论初始设置是什么而不是新选择的设置的 SelectedValue。
    【解决方案3】:

    如果项目是字典:

    string value = ((KeyValuePair<string, string>)combobox.SelectedItem).Key;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-08
      • 2013-01-31
      • 2012-08-06
      • 2023-04-03
      相关资源
      最近更新 更多