Сохранение выбранного элемента из выпадающего списка после обновления страницы в веб-форме asp

У меня есть aspx страница, которая имеет несколько drop down list, Поэтому, когда пользователи забывают ввести некоторые значения, я должен показать ошибку пользователю, но каждый DDL инициализируются снова, и информация о пользователях теряется, как я могу избежать этого?

Когда пользователи забывают ввести значения, я возвращаю их текущим url

url1=www.spadsystem.com
Response.Redirect(Url1);

Я слышал, что мы можем избежать этой проблемы, используя что-то вроде absolute я не уверен.

4 ответа

Решение

Используйте объект SessionState для хранения свойства SelectedIndex ComboBox (например, Cmb), затем примените его в событии Page_Load().

Пример 1: сохранить значение в сеансе

int _idx = Cmb.SelectedIndex;
Session["idx"] = _idx.ToString();

Пример 2: чтение из сеанса и применение к ComboBox:

Cmb.SelectedIndex = (int)(Session["idx"]);

Более подробная информация по адресу: http://msdn.microsoft.com/en-us/library/vstudio/ms178581%28v=vs.100%29.aspx

Rgds,

Прежде всего, не перенаправляйте пользователя, когда это не требуется.

Во-вторых, используйте RequiredFieldValidator для ваших полей. Это предотвратит обратную передачу, когда ваши пользователи забудут ввести какое-либо значение.

И в-третьих, если вы связываете выпадающие списки программно, сделайте это в

If(!IsPostBack)
{
   //Your ddl initialization here
}

Это гарантирует, что вы получите выбранные значения из DropDownLists

Согласен с использованием RequiredFieldValidator. и элементы управления должны содержать свои значения, если для элемента управления установлено состояние просмотра (проверьте свойства).

Избегайте перенаправления на другую страницу и обратно, чтобы показать ошибку, и убедитесь, что вы инициализируете списки, если IsPostBack имеет значение false. Затем ASP.NET Viewstate позаботится обо всем за вас и сохранит все выбранные значения.

Другие вопросы по тегам