DataTable
を構築し、国の省略名と国の拡張子を設定します。私はこれをDropDownList
コントロールのDataSourceにFormView
の範囲内にします。このFormView
を見るには、ユーザーがフォーム上のボタンをクリックします。 DropDownListには初めてが正しく挿入されます。このFormView
を処理した後(データストアにレコードを追加する)、ユーザーは以前にクリックした同じボタンをクリックして別のレコードを追加する必要がありますが、DropDownList
はになりません。が入力されていません。私は、このリストを供給しているDataTableが呼び出されるたびにデータテーブルが作成されることを確認しました。もちろん、コードもまったく同じです。.NETのDropDownList FormViewが初めて完全にロードされます。
フォームコードは次のようになります。
<asp:DropDownList ID="lstBornIn" runat="server" />
とビハインドのコードは次のようになります。
tblCountry = (DataTable) Session["tblCountry"];
DropDownList lstBorn = (DropDownList)
FormView1.FindControl("lstBornIn");
lstBorn.DataSource = tblCountry;
lstBorn.DataValueField = "Abbrev";
lstBorn.DataTextField = "Country";
lstBorn.DataBind();
述べたように、これは完全に最初の時間を動作しますが、決して再び。後続の呼び出しでItemsリストが空であるため、バインディングの問題があるようです。
提案がありますか?
いつデータをドロップダウンリストにバインドしますか?ボタンをクリックしたメソッドの完全なメソッドを投稿できますか? – Rondel
私が知る限り、大きな変数をSession変数に格納することはお勧めできません。そして、 "tblCountry"は小さいものではないようです。 – aleafonso
それは、私がDataTableを呼び出すたびにチェックして、それは常に67の項目を持っています(国リストを67に制限します)。 –