2

私の ascx では、次のように定義されたリストボックス コントロールがあります。

<asp:ListBox id="Listbox1" rows="1" runat="server" AutoPostBack="True" OnSelectedIndexChanged="btn_click" />

私の ascx.cs では、リストボックスに次のものを入力します。

Listbox1.Items.Add(new ListItem("textVar", "valueVar"));

選択した値を次のように読み取ろうとしています:

label1.Text = Listbox1.SelectedValue.ToString();

しかし、これにより、Label1.Text に空の文字列が作成されます。何か案は?私はまだ .NET と C# に慣れていないので、これが初歩的である場合は申し訳ありません。それは簡単なことのようです。

4

1 に答える 1

5

何か案は?

はい、ListBoxポストバックごとにデータバインドしていると思います。if(!IsPostBack)それ以外の場合はトリガーされませ SelectedIndexChangedん。

protected void Page_Load(Object sender, EventArgs e)
{
    if(!IsPostBack)
    {
        Listbox1.Items.Clear();
        Listbox1.Items.Add(new ListItem("textVar", "valueVar"));
    }
}
于 2013-07-10T16:11:19.743 に答える