首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >ASP.NET C# OnSelectedIndexChanged事件触发器多方法

ASP.NET C# OnSelectedIndexChanged事件触发器多方法
EN

Stack Overflow用户
提问于 2016-11-08 15:19:07
回答 5查看 1.8K关注 0票数 0

我有这个asp DropDownList

代码语言:javascript
运行
复制
<td>
<asp:DropDownList ID="ddlCategorySearch" runat="server" OnSelectedIndexChanged="ddlCategorySearch_SelectedIndexChanged" AutoPostBack="true"></asp:DropDownList><br />
<asp:DropDownList ID="ddlSubCategorySearch" runat="server" OnSelectedIndexChanged="ddlSubCategorySearch_SelectedIndexChanged" AutoPostBack="true"></asp:DropDownList>

我想用两个方法ddlCategorySearch_SelectedIndexChangedddlSubCategorySearch_SelectedIndexChanged来触发OnSelectedIndexChanged

因此,如果用户触发了OnSelectedIndexChange,则会触发两个值方法。

但是我不能解决这个问题,我该怎么做呢?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2016-11-08 15:23:54

你的问题有点不清楚,但如果我理解正确的话,当用户更改类别值时,你想触发两个事件吗?

通过使用以下语法从主类别方法中显式调用sub方法,您将能够做到这一点

代码语言:javascript
运行
复制
ddlSubCategorySearch_SelectedIndexChanged(sender,e)

如果我误解了您的问题,请对其进行修改,使其更清晰一些

编辑:根据您上面的注释,您不需要调用子ddl的selectedindex更改来更改它的值。

您可以从类别下拉列表selectedindexchanged方法中将数据源更改为过滤后的数据源。

我希望这是有意义的

票数 1
EN

Stack Overflow用户

发布于 2016-11-08 15:36:12

ddlCategorySearch_SelectedIndexChanged事件上填充ddlSubCategorySearchDataSource,为此,您首先需要在页面加载时填充ddlCategorySearchDataSource,如下所示。

代码语言:javascript
运行
复制
protected void  protected void Page_Load(object sender, EventArgs e)
{
   if (!IsPostBack)
   {
      BindCategorySearch();
    }   
}

protected void BindCategorySearch()
{
    // Fill your ddlCategorySearch here. Write down your database logic to    
    //get a datasource for ddlCategorySearch 
}

protected void ddlCategorySearch_SelectedIndexChanged(object sender, EventArgs e) 
{
    try
    {
       BindSubCategory();
    }
    catch (Exception ex)
    {

    }
}

protected void BindSubCategory()
{
    try
    {
       int categoryID = Convert.ToInt32(ddlCategorySearch.SelectedValue);
       //Write down here your database logic to get datasource for 
       // ddlSubCategorySearch. For Example select * from SubCategory where 
       //CategoryID = categoryID
       List<SubCategory> listSubcategories = new List<SubCategory>();
       //Fill your listCategory on base of categoryID

       ListItem li = new ListItem();
       li.Text = "--Select Sub Category--";
       li.Value = "0";
       li.Selected = true;
       ddlSubCategories.Items.Insert(0, li);
    }
    catch (Exception ex)
    {

    }
 }
票数 0
EN

Stack Overflow用户

发布于 2016-11-08 15:39:05

如果您想根据一个下拉列表填充另一个下拉列表,您可以使用如下命令:

代码语言:javascript
运行
复制
public void ddlCategorySearch_SelectedIndexChanged(object sender, Eventargs e){
var param = ddlCategorySearch.SelectedValue;
foreach (var item in myList)//assuming you put the elements you want inside DDL in a list
if(item.ID == param)
ddlSubCategorySearch.Items.Add(new ListItem { Text="",Value=""}); //assign DDL elements here such as item.property
}
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40481090

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档