2015-12-16 2 views
0

У меня есть раскрывающийся список asp.net, с enableviewstate на false Я привязываю это выпадающее меню в pageload без использования ispostback.выбранный индекс выпадающего списка с потерей нуля после обратной передачи

protected void Page_Load(object sender, EventArgs e) 
     { 
       binddropdown(); 
     } 

Я поставил EnableViewState ложь, так как я проверить много ViewState информации магазина в скрытом field.due, на какую страницу рендеринга медленно.

, когда я меняю выпадающий выбранный элемент и нажимаю кнопку submit.dropdownlist selectedindex, потому что в pageload я привязываю раскрывающееся меню.

Как я могу эффективно использовать viewstate и pagelifecycle.

ответ

1

Проблема с вашим кодом заключается в том, что, поскольку вы отключили ViewState своего раскрывающегося списка, он не может сохранить элементы, и на каждом возвратном предмете заселяются (очевидно, нам придется, как вы уже делаете). Так как элементы добавляются снова, выпадающий объект снова возвращается к исходному состоянию, и вы не можете получить выбранное значение.

IMHO вы не должны отключать ViewState вашего выпадающего списка. Но если у вас есть уже, то вы можете установить выбранное значение, используя коллекцию форм, как это: -

Просто связать выпадающее меню на начальной странице загрузки: -

protected void Page_Load(object sender, EventArgs e) 
{ 
    binddropdown(); 
    if(IsPostBack) 
    { 
     DropDownList1.SelectedValue = Request.Form["DropDownList1"]; 
    } 
} 
Смежные вопросы