AutoPostBackをtrueに設定したDropDownListを含むASP.netでカスタムコントロールを作成しました。私はまた、イベントのSelectedIndexChangedコントロールを添付しました。しかし、私はイベントが発生しないことがわかります。 AutoPostBackがtrueに設定された通常のasp.net DropDownListがイベントを発生させます。 VS2010で.net 3.5バージョンを使用しています。ここでAutoPostBackがカスタムコントロールで機能しない
は私のコードは次のとおりです。 ServerControl1.cs
[ToolboxData("<{0}:ServerControl2 runat=server></{0}:ServerControl2>")]
public class ServerControl1 : WebControl
{
protected DropDownList drplist;
protected TextBox tb;
protected override void RenderContents(HtmlTextWriter output)
{
drplist.RenderControl(output);
tb.RenderControl(output);
}
protected override void CreateChildControls()
{
base.CreateChildControls();
drplist = new DropDownList() { AutoPostBack = true };
drplist.Items.Add("a");
drplist.Items.Add("b");
drplist.Items.Add("c");
drplist.Items.Add("d");
drplist.SelectedIndexChanged += new EventHandler(drplist_SelectedIndexChanged);
tb = new TextBox();
}
void drplist_SelectedIndexChanged(object sender, EventArgs e)
{
tb.Text = "even fired";
}
}
ServerControl1Test:
protected void Page_Load(object sender, EventArgs e)
{
ServerControl1 ServerControl1 = new ServerControl1();
this.Controls.Add(ServerControl1);
}
誰もが、私はここで何をしないのです教えてもらえますか?