C#とASP.NETの新機能です。CheckBoxListのDataBind().Selectedを取得する際の問題
私はDeploySelectListという名前のCheckBoxListを持っています。次のようにリストにアイテムを手動で追加すると、[Submit]ボタンをクリックした後に.Selectedアイテムを取得するのに問題はありません。
protected void Page_Load(object sender, EventArgs e) {
DeploySelectList.Items.Add("test 1");
DeploySelectList.Items.Add("test 2");
DeploySelectList.Items.Add("test 3");
}
私はListオブジェクトへのデータバインディングを作成する場合は、すべてのDeploySelectList項目は常に.Selected =偽を持っています。
protected void Page_Load(object sender, EventArgs e) {
List<String> list = DBFunctions.getDeploymentSelection();
DeploySelectList.DataSource = list;
DeploySelectList.DataBind();
}
なぜこれが起こっていますか?
ありがとうございました。
EDIT:下記のコメントに従って、if (!IsPostBack)
ブロックのコードを追加すると問題が解決しました。私はまだ、手動でDataBindingを行うのと比べて問題が同じではなかった理由を理解していません。どちらの場合も選択は失われているようです。
この質問は削除する必要がありますか?
コードをif(!IsPostback)ブロックに入れる必要があるのでしょうか? ref:http://msdn.microsoft.com/en-us/library/system.web.ui.page.ispostback.aspx –