私は、高度な操作のために多くのプロパティをUserControl
カプセル化することを主な目的とした複合体を持っています。DropDownList
PreRender
以前に設定されたプロパティに応じて、イベントでリストが作成されています。
protected void Page_PreRender(object sender, EventArgs e)
{
sourceClient.SelectCommand = this.Property1 ? "exec a" : "exec b";
}
最も使用されるプロパティは ClientID です。
[Category("Settings")]
public int ClientID
{
get
{
return Int32.Parse(DropDownList1.SelectedItem.Value);
}
set
{
DropDownList1.Items.FindByValue(value).Selected = true;
}
}
Getter は通常、このコントロールを含むページでControlPameters
呼び出されます。SqlDataSources
セッター - マークアップから: <uc:UserControl1 runat="server" ClientID='<%# Bind("ID") %>' />
.
質問は次のとおりです。
Bind
セッター fromが以前に呼び出されるのはなぜPreRender
ですか? そしてDropDownList
空で、アイテムの選択が機能しません! この動作を回避するにはどうすればよいですか?
Edit1:わかりました、そうではありませPreRender
んInit
。しかし、DropDownList1_DataBinding はまだプロパティ セッターの後に呼び出されています。