【问题标题】:ASP.NET C# Set OnSelectedIndexChanged from Code BehindASP.NET C# 从后面的代码设置 OnSelectedIndexChanged
【发布时间】:2016-07-06 05:47:12
【问题描述】:

我试图从 Web 窗体应用程序后面的代码中设置 SelectedIndexChanged。我从数据库中将可变数量的下拉列表添加到页面上,并且需要一种方法来在每次下拉列表更改时触发。

我目前正在尝试:

ddlProductCause.SelectedIndexChanged += new EventHandler(ddlProductCause_Changed);
ddlProductCause.ID = "ddlProductCause_" + row["item_id"].ToString();
ddlProductCause.AutoPostBack = true;

还有……

public void ddlProductCause_Changed(object sender, CommandEventArgs e)
    {
        // do stuff
    }

但我没有运气。

有什么想法吗?

【问题讨论】:

  • 你订阅了所有的下拉菜单吗?
  • 我为每个下拉菜单设置了唯一的 ID?
  • 请发给你Page_Load方法码。

标签: c# asp.net code-behind dropdownbox


【解决方案1】:

事件参数可能会导致这种情况,请使用EventArgs

protected void ddlProductCause_Changed(object sender, EventArgs e){
   //to get id
   DropDownList ddl=sender as DropDownList;
   //ddl.Id <---Access property like this.
 }  

【讨论】:

  • 太棒了,这是触发事件,我如何才能获得触发该方法的下拉列表的 ID?即 >
  • 这似乎无法获取 id 行 - 对象设置为 null。
  • ddl 对象为空?
  • ddl sender 为空,它似乎引用了页面中的不同对象。我可以在 ddlProductCase_Changed(object sender, eventargs e, int id) 中添加一个额外的参数吗??
  • 太棒了,非常感谢!!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-03
  • 2015-04-28
  • 1970-01-01
  • 2011-01-07
  • 1970-01-01
相关资源
最近更新 更多