動的に追加したDropDownListの値がPostBack時に保持されない
例えば、以下のようにPageLoad時にDropDownListにアイテムを追加すると、
PostBack時にアイテムが保持されない。
protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { DropDownList1.Items.Add(new ListItem("1","1つめ")); DropDownList1.Items.Add(new ListItem("2","2つめ")); DropDownList1.Items.Add(new ListItem("3","3つめ")); } }
■解決策
以下のように、Page_Initイベント内でアイテムを定義すると、
PostBack時にアイテム内容や選択値が保持される。
protected void Page_Init(object sender, EventArgs e) { if (!Page.IsPostBack) { DropDownList1.Items.Add(new ListItem("1","1つめ")); DropDownList1.Items.Add(new ListItem("2","2つめ")); DropDownList1.Items.Add(new ListItem("3","3つめ")); } }