C # SelectedValue в списке - PullRequest
       3

C # SelectedValue в списке

0 голосов
/ 18 мая 2011

Я добавляю данные в свой список, используя этот код:

    SqlCommand cmd1 = new SqlCommand("SELECT U_Naam, U_Voornaam, User_ID FROM Login ORDER BY U_Naam ASC", con);
    dr = cmd1.ExecuteReader();

    int teller = 0;

    while (dr.Read())
    {
        hulp = dr["U_Naam"].ToString() + " " + dr["U_Voornaam"].ToString();
        lbNiet.Items.Add(hulp);
        lbNiet.Items[teller].Value = dr["User_ID"].ToString();
        teller++;
    }

Когда я запускаю программу и выбираю элемент в списке, я хочу получить его значение (используя selectedvalue). Когда я делаю это, он всегда дает нулевой рефлекс (без значения). Я читал где-то выбранный элемент теряется после обратной передачи? Как я могу решить это?

спасибо!

Ответы [ 6 ]

2 голосов
/ 18 мая 2011

заменить эти строки

lbNiet.Items.Add(hulp);
lbNiet.Items[teller].Value = dr["User_ID"].ToString();

с

lbNiet.Items.Add(new ListItem(hulp,dr["User_ID"].ToString();));
2 голосов
/ 18 мая 2011

Я не думаю, что выбранный элемент теряется после PostBack при нормальных обстоятельствах - я предполагаю, что вы случайно заполняете ListBox снова после PostBack, так что когда вы делаете выбор, система нажимает Page_Init / Page_Load (или что-то ещесобытие, которое вы выбираете для заполнения ListBox в) и воссоздает все параметры.Это перезапишет выбранную в данный момент опцию.

Если это так, этого легко избежать, проверив сначала PostBack перед повторным заполнением списка.

1 голос
/ 18 мая 2011

Запускаете ли вы этот код в загрузке вашей страницы ASP.NET, не проверяя, является ли это обратной передачей?Вы должны убедиться, что ваш код загрузки помещен в блок if (!IsPostback) {}, если вы делаете это при загрузке страницы.

0 голосов
/ 18 мая 2011

вы можете использовать Request.Form , чтобы найти объявленное значениеили я думаю, что если вы используете скрипт-менеджер и панель обновлений, она заполняет поле после обратной передачи

0 голосов
/ 18 мая 2011

Вы используете ViewState для своей страницы?

Если да, проверьте свойство IsPostBack страницы и не заполняйте свой список после обратной передачи.

0 голосов
/ 18 мая 2011

Привязка данных для ваших данных вместо добавления в цикл поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...