1Future Ответов: 1

Как получить значение выбранного элемента в listbox in ASP.NET веб-формы


Привет ,

У меня есть список в моем проекте, как это:
<asp:ListBox runat="server" ID="MultiSelect" SelectionMode="multiple">
                               
                            </asp:ListBox>



<p>The Selected Value is:</p><asp:TextBox  ID="listBoxValue" runat="server" ></asp:TextBox>


С фоновым кодом:

//on page load i fill the the Listbox with values like this:

MultiSelect.Items.Add(new ListItem {Text = "John Doe", Value = "1"});

MultiSelect.Items.Add(new ListItem {Text = "Jane Doe", Value = "2"});
// 
listBoxValue.Text = MultiSelect.SelectedValue // << i know this is wrong but this is where im stuck


Мне нужно получить значение выбранного элемента списка и отобразить его. Так , например, когда пользователь выбирает "John Doe" из списка, я хочу, чтобы значение было заполнено в текстовом поле, но я не знаю, как это сделать.

PS Я не хочу делать это одним нажатием кнопки , я бы хотел, чтобы это было сделано, когда пользователь выбирает из списка
Спасибо

Что я уже пробовал:

Ну, я смотрел на прослушиватели событий, но я не уверен, какой из них может быть лучшим для достижения этой цели, на данный момент я доволен только нажатием кнопки, но в этом случае мне не нужен прослушиватель событий нажатия кнопки

Sinisa Hajnal

Должно быть событие SelectedItemChanged или SelectedIndexChanged или что - то в этом роде-просто прочитайте документацию.

1 Ответов

Рейтинг:
6

Laxmidhar tatwa technologies

Код Markip

<form id="form1" runat="server">
    <div>
    <asp:ListBox runat="server" ID="MultiSelect" AutoPostBack="true" SelectionMode="multiple" OnSelectedIndexChanged="MultiSelect_SelectedIndexChanged">
                               
                            
    </div>
        <div>
            <p>The Selected Value is:</p><asp:TextBox  ID="listBoxValue" runat="server" >
        </div>
    </form>




С фоновым кодом
public partial class list_show : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                MultiSelect.Items.Add(new ListItem { Text = "John Doe", Value = "1" });

                MultiSelect.Items.Add(new ListItem { Text = "Jane Doe", Value = "2" });
                
            } 
        }

        protected void MultiSelect_SelectedIndexChanged(object sender, EventArgs e)
        {
            listBoxValue.Text = MultiSelect.SelectedItem.Text;
        }
    }


1Future

Спасибо