PDA

View Full Version : سوال: مشکل با DropDownList ViewState



mpmsoft
یک شنبه 09 خرداد 1389, 16:23 عصر
دوستان یک کنترل DropdownList بروی صفحه دارم و در زمان لود صفحه یکسری آیتم داخل آن اضافه می کنم

مشکل اینجاست که من خاصیت EnableViewState = "False" کردم ولی هربار که صفحه اجرا می شه لیست خالی نمی شه و آیتمها جدید به آیتمهای قدیمی اضافه می شن

مثلا داشتم بار اول

حسن
رضا
علی


بعد از بستن صفحه و باز کردن مجدد دارم

حسن
رضا
علی
حسن
رضا
علی


بنده قبل از اضافه کردن موردها ViewState.Clear و DropDownList.Items.Clear رو هم اجرا کردم ولی تاثیری نذاشت

hamedsabzian
یک شنبه 09 خرداد 1389, 20:50 عصر
من هم هنوز تفاوت True و False بودن ViewState رو برای کنترل ها تجربه نکردم.
ولی اگه قبل از اضافه کردن آیتم ها تابع DropDownList.Items.Clear رو فراخونی می کنی، نباید این مشکل رو داشته باشی!
کدت رو بذار.

Behrouz_Rad
یک شنبه 09 خرداد 1389, 21:01 عصر
EnableViewState رو true نگه دار...
یادت رفته شرط (if (!IsPostBack رو در Page_Load قبل از پر کردن DropDownList بنویسی.

موفق باشید.

alireza_s_84
یک شنبه 09 خرداد 1389, 21:14 عصر
دوستان یک کنترل DropdownList بروی صفحه دارم و در زمان لود صفحه یکسری آیتم داخل آن اضافه می کنم

مشکل اینجاست که من خاصیت EnableViewState = "False" کردم ولی هربار که صفحه اجرا می شه لیست خالی نمی شه و آیتمها جدید به آیتمهای قدیمی اضافه می شن

مثلا داشتم بار اول
حسن
رضا
علی

بعد از بستن صفحه و باز کردن مجدد دارم
حسن
رضا
علی
حسن
رضا
علی

بنده قبل از اضافه کردن موردها ViewState.Clear و DropDownList.Items.Clear رو هم اجرا کردم ولی تاثیری نذاشت
قبل از پر کردن DropdownList ها شرط زیر رو چک کنید:
if (!IsPostBack) { }
برای حفظ حالت آیتم انتخاب شده هم در صورت غیرفعال بودن ViewState میتونید اینجوری عمل کنید:

if (Request.Form[ddlCity.UniqueID] != null)
{
ddlCity.SelectedValue = Request.Form[ddlCity.UniqueID];
}


موفق باشید