我正在使用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方法中使用该值进一步使用,例如生成图表。
我已经阅读了很多关于全局变量但却不了解它们的相关信息。
答案 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.
}
}