У меня есть странная проблема с обратной записью DropDownList.Извлечение значений из DropDownList в Postback в asp.net
У меня есть DropDownList в мастер-странице ASP.NET, который содержит некоторые государственные имена, как:
- Текст [NewYork] - значение [0]
- Текст [Нью-Джерси] - значение [1]
drpTowns.DataSource = objTown.GetAllStates();
drpTowns.DataTextField = "Name";
drpTowns.DataValueField = "Id";
drpTowns.DataBind();
В коде позади мастер-страницы, у меня есть DropDownList_SelectedInd exChanged, где я устанавливаю SelectedValue выпадающего списка в переменной, которая удерживает сеанс. как показано ниже
protected void drpTowns_SelectedIndexChanged(object sender, EventArgs e)
{
Globals.DefaultTown = Convert.ToInt32(drpTowns.SelectedValue);
}
Определение для Globals.DefaultTown написано в App_Code Globals.cs класса, как показано ниже:
private static int _defaultTown = Convert.ToInt32(ConfigurationManager.AppSettings["DefaultTown"]);
public static int DefaultTown
{
get
{
if (HttpContext.Current.Session["DefaultTown"] == null)
return _defaultTown;
else
return Convert.ToInt32(HttpContext.Current.Session["DefaultTown"]);
}
set
{
HttpContext.Current.Session["DefaultTown"] = value;
}
}
Теперь я хочу, чтобы получить значение Globals.DefaultTown в содержании страницы (по умолчанию. ASPX). Я делаю, что, как показано ниже:
Response.Write("Default Town Is: " + Globals.DefaultTown + "<br />");
Теперь, когда я выбираю состояние из DropDownList, то Globals.DefaultTown не обновление сразу, как по умолчанию в выбранном состоянии выставиться для DefaultTown, но когда я выбираю второе состояние из списка он по-прежнему дает идентификатор первого состояния, теперь, когда я выбираю третье состояние из списка, он дает идентификатор второго, и когда я выбираю первое состояние из списка, он дает идентификатор третьего состояния, т.е. он не обновляет переменную DefaultTown на месте.
Может кто-нибудь сказать мне, что будет идти неправильно для этого
привет @afzalulh Пожалуйста, вы можете сказать мне, что может быть возможным решением для этого. – Abbas
См. Мой отредактированный ответ. – afzalulh
привет @afzalulh спасибо за быстрый ответ с ответом, для вашего первого решения у меня уже есть событие selectedindex_changed только на главной странице. вы хотели переместиться на страницу содержания. – Abbas