###質問内容
・SqlDataSourceの実行されるタイミングについて
###発生している問題
DropDownlistをPage_LoadでSelectedIndexしようとしているが
まだ中身が生成されていないらしくFindByValueであるべきItemが見つからない。
###該当のソースコード
html
1<asp:DropDownList ID="DropDown1" runat="server" style="vertical-align: middle;" DataSourceID="SqlDataSource1" DataTextField="名称" DataValueField="区分" AppendDataBoundItems="true"> 2 <asp:ListItem Value="" Text="" /> 3</asp:DropDownList> 4<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:AAAConnectionString %>" SelectCommand="SELECT [区分], [名称] FROM [マスタテーブル] WHERE ([有効FLG] = @有効FLG) ORDER BY [区分]"> 5 <SelectParameters> 6 <asp:Parameter DefaultValue="true" Name="有効FLG" Type="Boolean" /> 7 </SelectParameters> 8</asp:SqlDataSource> 9 10```c# 11protected void Page_Load(object sender, EventArgs e){ 12 13//reader=command.ExecuteReader() テーブルから対象レコード1件取得(区分はマスタテーブルに存在するもの) 14li = DropDown1.Items.FindByValue(reader["区分"].ToString()); 15i = DropDown1.Items.IndexOf(li); 16DropDown1.SelectedIndex = i; 17}
###補足情報(言語/FW/ツール等のバージョンなど) html書き直し等できないため処理実行のイベントタイミングの変更で対応したい
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/10/06 00:08
退会済みユーザー
2016/10/06 01:24
2016/10/06 01:42 編集
退会済みユーザー
2016/10/06 01:55
2016/10/06 01:59 編集