PDA

View Full Version : سوال: Erorr Enable Validation State



صادق صدقی
سه شنبه 30 شهریور 1389, 15:44 عصر
سلام

دوستان چرا این error رو می ده هر وقت که من می خوام سبد خریدم رو تکمیل کنم

؟
اگر کدی که نوشتم رو عوض کنم نمیاد این ارور
تویه رویداد row Commande گرید ویو نوشتمش

حساسیت گرفته به کده سبد خریدم؟
به خدا دیگه دارم روانی می شم

وقتی هم که EnableEventValidation رو برابر با False می کنم دیگه کد هام اجرا نمی شه

صادق صدقی
سه شنبه 30 شهریور 1389, 23:35 عصر
دوستان کسی نبود کمکم کنه؟

صادق صدقی
چهارشنبه 31 شهریور 1389, 13:33 عصر
دوستان F1

help
کمک
النجده
Aider (فرانسه)

خیلی حیاتیه

amirjalili
چهارشنبه 31 شهریور 1389, 13:49 عصر
ببین من کد هات رو ندیدم اما EnableValidationState وظیفه داره که چک کنه که آیا رویداد postback توسط کنترل های رجیستر شده در همان صفحه اتفاق افتاده یا اینکه چیزی خارج از اشیای ثبت شده در صفحه داره باعث رویداد Postback میشه. این به لحاظ امنیتی خیلی مهمه.
احتمالا شما گرید ویوو یا هر چیز دیگه خودتون رو دارید در هنگام page-load بایند (Bind) میکنید. در این حالت چه اتفاقی میافته؟ در این حالت کنترل های شما هر بار در موقع page-load از نو ثبت میشن و این به این معنی هست که Viewstat ما گم میشه. ما کنترلی رو که باعث رویداد POSTBACK شده رو گم کردیم و در این حالت دات نت یک خطا رو نشون میده.
برای رهایی از این مشکل شما باید کاری شبیه کد زیر انتجام بدید.

فرض میکنیم کد های قبلی شما اینطوری بوده :



protected void Page_Load(object sender, EventArgs e) {
GridView1.DataSource = Enumerable.Range(0, 5);
GridView1.DataBind();
}

حالا کد های بالا رو به صورت زیر اجرا کنید


protected void Page_Load(object sender, EventArgs e) {
if (!IsPostBack){
GridView1.DataSource = Enumerable.Range(0, 5);
GridView1.DataBind();
}
}