C# 动态创建下拉列表并相应地触发事件
我有一个简单的任务。第一个Dropdownlist控件位于加载国家名称的位置。选择国家名称后,将动态加载相应的状态的Dropdownlist,选择状态后,将动态添加另一个带有相关地区的Dropdownlist。问题是没有触发动态选择的索引事件。我找了这么多页,但没有找到合适的答案。任何人都可以回答它的书面代码 这段代码在静态控件中运行良好。但不是动态控件。 有人能纠正我的代码吗C# 动态创建下拉列表并相应地触发事件,c#,asp.net,C#,Asp.net,我有一个简单的任务。第一个Dropdownlist控件位于加载国家名称的位置。选择国家名称后,将动态加载相应的状态的Dropdownlist,选择状态后,将动态添加另一个带有相关地区的Dropdownlist。问题是没有触发动态选择的索引事件。我找了这么多页,但没有找到合适的答案。任何人都可以回答它的书面代码 这段代码在静态控件中运行良好。但不是动态控件。 有人能纠正我的代码吗 namespace fireProgram { public partial class MindforeS
namespace fireProgram
{
public partial class MindforeSystemTestingProgram : System.Web.UI.Page
{
BALayer objBALayer = new BALayer();
DropDownList ddlState=new DropDownList();
DropDownList ddlDistrict=new DropDownList();
protected void Page_Init(EventArgs e)
{
ddlState.ID = "ddlState";
ddlState.AutoPostBack = true;
ddlState.SelectedIndexChanged += new EventHandler(ddlState_SelectedIndexChanged);
panel1.Controls.AddAt(2, ddlState);
ddlDistrict.ID = "ddlDistrict";
panel1.Controls.AddAt(3, ddlDistrict);
}
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
ddlCountry.DataSource = objBALayer.GetCountry();
ddlCountry.DataTextField = "Text";
ddlCountry.DataValueField = "Value";
ddlCountry.DataBind();
}
//else
//{
// ddlState.ID = "ddlState";
// ddlState.AutoPostBack = true;
// ddlState.SelectedIndexChanged += new EventHandler(ddlState_SelectedIndexChanged);
// panel1.Controls.AddAt(2, ddlState);
// //ddlDistrict.ID = "ddlDistrict";
// //panel1.Controls.AddAt(3, ddlDistrict);
//}
}
protected void ddlCountry_SelectedIndexChanged(object sender, EventArgs e)
{
int value = Convert.ToInt32(ddlCountry.SelectedValue);
panel1.Controls.AddAt(2, ddlState);
//DropDownList ddlState = new DropDownList();
//ddlState.AutoPostBack = true;
if (value != 0)
{
ddlState.DataSource = objBALayer.GetState(value);
ddlState.DataTextField = "Text";
ddlState.DataValueField = "Value";
ddlState.DataBind();
}
}
protected void ddlState_SelectedIndexChanged(object sender, EventArgs e)
{
int value = Convert.ToInt32(ddlState.SelectedValue);
//DropDownList ddlDistrict = new DropDownList()
panel1.Controls.AddAt(3, ddlDistrict);
if (value != 0)
{
ddlDistrict.DataSource = objBALayer.GetDistrict(value);
ddlDistrict.DataTextField = "Text";
ddlDistrict.DataValueField = "Value";
ddlDistrict.DataBind();
}
}
}
}在将控件添加到面板后,我会尝试设置SelectedIndexChanged处理程序。我必须承认,这是一个真正的盲点。如果这不成功,我会尝试将_AddAt_s与_Add_s交换,看看会发生什么