【问题标题】:ASP.NET dropdownlist selectedindex change firing for programmatic selection changesASP.NET 下拉列表 selectedindex 更改触发以进行编程选择更改
【发布时间】:2012-09-19 22:50:15
【问题描述】:

我有带有动态下拉控件的 asp.net 页面,我只需要为用户选择触发 selectedIndexchanged 事件。

目前selectedIndexchanged 事件正在为每个编程选择更改触发。

有人可以建议如何仅在“用户”选择中检查/触发selectedIndexchanged 事件吗?

【问题讨论】:

  • 你必须为你的控制创建一个事件处理器
  • 您是在逐个添加项目到下拉列表吗?
  • 是的,我一一添加。但该事件应仅针对用户选择触发。基于用户选择,我正在以编程方式调整其他下拉值,因此现在它也会触发甚至编程选择更改。有人可以建议如何只为用户选择获取 selectedindexchanged。

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


【解决方案1】:

我希望这对你有用

protected void Page_Load(object sender, System.EventArgs  e){

    DropDownList cbTest = new DropDownList();
    cbTest.ID = "cbot";
    //create an event handler for the SelectedIndexChanged event
    cbTest.SelectedIndexChanged += new EventHandler(cbt_SelectedIndexChanged);        
    cbTest.Items.Add("1");
    cbTest.Items.Add("2");
    cbTest.Items.Add("3");
    //set the AutoPostBack property to sends the data back to the server
    cbTest.AutoPostBack = true;
    this.form1.Controls.Add(cbTest);

}
//handle the selections made by the User
void cbt_SelectedIndexChanged(object sender, EventArgs e)
{
    Response.Write("This works");
}

【讨论】:

  • 实际上我遵循相同的代码,我需要根据用户选择更改其他下拉值,例如我有 5 个下拉值,选择值 1 到 5,如果使用,则选择第一个下拉值到 5我需要以编程方式更改其他选定的值。所以我需要的是, selectedindexchanged 事件仅针对 user selection 触发,它不应该针对编程选择更改触发事件。
猜你喜欢
  • 2011-09-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-19
  • 1970-01-01
  • 2017-03-21
  • 1970-01-01
相关资源
最近更新 更多