在另一个ddl索引更改中调用多个dropdownlist索引更改方法

时间:2013-12-18 12:05:15

标签: c# asp.net methods drop-down-menu global-variables

我正在使用visual studio 12,使用c#在asp.net中编码 我的代码中有3个下拉列表,所有这些都由我创建的列表绑定 我需要一些建议,哪种方法最好调用ddl的后置值来执行任务。

选项1
当用户从下拉列表3中选择项目时,通过调用该方法将后退值从Dropdownlist3_SelectedIndexChanged发送到dropdownlist2_selectedindexchanged。只有在我有两个回发值后,我才想制作一个图表。无论图表保持什么,无论下拉列表中的数据是什么。

类似

protected void DropDownList2_SelectedIndexChanged(object sender, EventArgs e)
{
 // I would like to have the postbackvalue of drop down list 3 here so i can use its value and dropdownlist2's postbackvalue to produce a chart.
}

并在dropdownlist3中

protected void DropDownList3_SelectedIndexChanged(object sender, EventArgs e)
{
// I would like to call DropDownlist2_SelectedIndexChanged(...) method so I can send the postbackvalue of DDL3 for use in DDL2.
}

选项2:
定义一个全局变量,用于存储Dropdownlist3的回发值,并在Dropdownlist2_SelectedIndexChanged方法中使用该值进一步使用,例如生成图表。

我已经阅读了很多关于全局变量但却不了解它们的相关信息。

1 个答案:

答案 0 :(得分:1)

我不确定这是否是您所追求的,但也许有第三种方法被调用来处理图表的更新......

例如

protected void DropDownList2_SelectedIndexChanged(object sender, EventArgs e)
{
    BuildChart();
}

protected void DropDownList3_SelectedIndexChanged(object sender, EventArgs e)
{
    BuildChart();
}

private BuildChart()
{
    var ddl3Value = DropDownList3.SelectedValue;
    var ddl2Value = DropDownList2.SelectedValue;

    if(ddl3Value != null && ddl2Value != null)
    {
        //build chart.
    }
}