【解決方法】Listbox onindexchanged イベントが発生するが、selecteditem プロパティが null ASP.NET

プログラミングQA


ListBox1 で何かが選択されると、selectedindexchanged イベントが発生しますが、listbox1.selecteditem/index/value は null です。 SelectedItem を取得するにはどうすればよいですか?

C#
   protected void ListBox1_SelectedIndexChanged(object sender, EventArgs e)
   {
       var row = ListBox1.SelectedItem.Text;
       var date = DateTime.ParseExact(row,"yyyy-MMMM", CultureInfo.InvariantCulture);
       ChangeMonthViewOnGridView1(date.Year, date.Month);
   }


<asp:ListBox ID="ListBox1" runat="server"
OnSelectedIndexChanged="ListBox1_SelectedIndexChanged" Width="258px"
AutoPostBack="True" ></asp:ListBox>

私が試したこと:

デバッグにブレークポイントを使用します。 変化の兆しは見えません。 ドロップダウンリストでも試してみましたが、選択したアイテムは最初のもののままです。

解決策 1

コードを置き換えます

<asp:ListBox ID="ListBox1" runat="server"
OnSelectedIndexChanged="ListBox1_SelectedIndexChanged" Width="258px"
AutoPostBack="True" ></asp:ListBox>

<asp:ListBox ID="ListBox1" runat="server" AutoPostBack="True" OnSelectedIndexChanged="ListBox1_SelectedIndexChanged">
                <asp:ListItem>2017-January</asp:ListItem>
                <asp:ListItem>2017-February</asp:ListItem>
                </asp:ListBox>

試してみてください。 これはあなたのコードビハインドで機能しています

コメント

タイトルとURLをコピーしました