PDA

View Full Version : مشکل با Page_Load



el_abdollahi
پنج شنبه 27 دی 1386, 11:54 صبح
سلام
تا دیروز همه چیز خوب بود . ولی یه دفعه وقتی وارد صفحه اصلی میشدم این خطا رو میداد :

Invalid postback or callback argument. Event validation is enabled using <pages enableEventValidationin configuration or <%@ Page EnableEventValidation="true" %>
in a page. For security purposes, this feature verifies that arguments to postback or callback events originate from the server control that originally rendered them.
If the data is valid and expected, use the ClientScriptManager.RegisterForEventValidation method in order to register the postback or callback data for validation.
برای رفع این مشکل EnableEventValidation="false" رو در صفحه گذاشتم . حالا دیگه اون خطا رو نمیده ولی شرط if not ispostback then هم اجرا نمیشه . لطفا کمک کنید .

el_abdollahi
پنج شنبه 27 دی 1386, 13:52 عصر
اصلا کدهای خارج از شرط if not ispostback هم با اینکه اجرا میشوند ولی اعمال نمیشوند .
لطفا کمک کنید .

el_abdollahi
جمعه 28 دی 1386, 20:51 عصر
خواهش میکنم یکی کمک کنه. نمیدونم باید چه کار کنم . کممممممممممممممممممک.

mahdi_farhani
جمعه 28 دی 1386, 21:27 عصر
دوست عزیز این مشکل برای من زمانی پیش اومد که وقتی یه پروژه رو از 2003 به 2005 تبدیل کردم . و در قسمت Design خیلی ایراد داشت ( XHTML ارور داشت ) تگهای باز شده ، بسته نشده و .....
یه صفحه دیگه درست کردن و مشکلش حل شد ، حالا شما هم چک کن ، و سعی کن یه صفحه دیگه ایجاد کنی .
البته کپی و پیست نکن برای اطمینان .

scorpion_man
یک شنبه 30 دی 1386, 03:10 صبح
سلام به دوستان
ببینید دوست عزیز .net 2 یه handle ی داره که صحت event های postback شده به سرور رو چک میکنه با این attribute که آشنا شدید

مشکل دقیقا همون چیزیه که مهدی جان فرمود
من عین واژه رو هم برات از MSDN میذارم

The default value is true. A Web application may optionally disable event validation to revert to .NET Framework version 1.0 behavior

موفق باشید

el_abdollahi
یک شنبه 30 دی 1386, 09:33 صبح
با تشکر از کسانی که به مشکل من توجه کردند .

The default value is true. A Web application may optionally disable event validation to revert to .NET Framework version 1.0 behavior

منظورتون اینه که به خاطر false کردن EnableEventValidation این مشکل اتفاق میافته ؟ خوب اگه من اون رو true کنم مرتی به من خطای Invalid postback or callback argument. رو میده . این دفعه برای رفع اون چه کار کنم ؟
لطفا کمک کنید .
من ساختار کدهای HTML رو هم بررسی کردم . اصلا وارنینگ هم نداره .

scorpion_man
یک شنبه 30 دی 1386, 12:27 عصر
با تشکر از کسانی که به مشکل من توجه کردند .

منظورتون اینه که به خاطر false کردن EnableEventValidation این مشکل اتفاق میافته ؟ خوب اگه من اون رو true کنم مرتی به من خطای Invalid postback or callback argument. رو میده . این دفعه برای رفع اون چه کار کنم ؟
لطفا کمک کنید .
من ساختار کدهای HTML رو هم بررسی کردم . اصلا وارنینگ هم نداره .
سلام دوست عزیز
شما فعلا اینو جواب بده که آیا شما کدها رو از یه ورژن دیگه ای update کردی یا نه؟؟؟
بعد برسیم به این موضوع true یا false کردن این att
موفق باشید

el_abdollahi
یک شنبه 30 دی 1386, 12:34 عصر
آیا شما کدها رو از یه ورژن دیگه ای update کردی یا نه؟؟؟

منظورتون رو درست متوجه نمیشم . میشه واضح تر بپرسین ؟

el_abdollahi
یک شنبه 30 دی 1386, 12:40 عصر
توی جست و جو هایی که انجام دادم فهمیدم که false کردن EnableEventValidation باعث میشه تا مقدار کنترل هایی که تغییر میکنند از بین برن . :

If i set EnableEventValidation="false" , i lost all the control values i had changed.
فکر کنم مشکل من هم همینه . باید مقدار EnableEventValidation ، true باشه .
راستی کسی نمیدونه از ClientScriptManager.RegisterForEventValidation چه جوری . برای چی استفاده میکنن ؟
لطفا کمک کنید .

el_abdollahi
یک شنبه 30 دی 1386, 12:45 عصر
راستی یادم رفت بگم که من از AJAX و تایمر اون و Accordion توی صفحه دارای مشکلم استفاده میکنم . شاید برای کمک لازم بود میدونستین .

el_abdollahi
یک شنبه 30 دی 1386, 13:36 عصر
من این کدها رو برای رجیستر کردن به فرمم اضافه کردم . ولی باز خطا میده :


ProtectedOverloadsOverridesSub Render(ByVal writer As HtmlTextWriter)
' Register controls for event validation
ForEach c As Control InMe.Controls
Me.Page.ClientScript.RegisterForEventValidation(c. UniqueID.ToString())
Next
MyBase.Render(writer)
EndSub

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

scorpion_man
یک شنبه 30 دی 1386, 13:43 عصر
من این کدها رو برای رجیستر کردن به فرمم اضافه کردم . ولی باز خطا میده :


ProtectedOverloadsOverridesSub Render(ByVal writer As HtmlTextWriter)
' Register controls for event validation
ForEach c As Control InMe.Controls
Me.Page.ClientScript.RegisterForEventValidation(c. UniqueID.ToString())
Next
MyBase.Render(writer)
EndSub

کمککککککککککککککککککککککک کککککککککککککککککککککککک. اگر تا فردا مشکلم حل نشه توبیخ میشم . کمک کنید .
سلام دوست عزیز
حالا شد یه چیزه دیگه مشکل فکر میکنم از همین کدهای ajax باشه جستجو کن کسایی که از component های ajax استفاده کردند از اونا بپرس تعدادشونم کم نیست
تو یکی از پستها یکی از دوستان در مورد مشکلات ajax بحثهای مفصلی کردند ایشون فکر میکنم بدونن چه خبره
موفق باشید

el_abdollahi
یک شنبه 30 دی 1386, 15:47 عصر
سلام به همه دوستان عزیز
من با توجه به حرفهای اقای فراهانی یک صفحه جدید رو قدم به قدم ساختم.
و در پایان کار ساخت همه چیز مرتب و خوب بود . بدون هیچ باگی .
بعد من اومدم و تاریخ سیستم رو چند روزی جلو کشیدم . و برنامه رو ران کردم . باز هم همه چیز عالی بود . بعد تاریخ رو سر جاش کشیدم و دوباره برنامه رو ران کردم . اماااااااااااااااااااا!
این دفعه بعد از اینکه در login یوزر و پسوردم رو دادم و ok رو زدم. باز به همون صفحه (login) رفت . و به صفحه index (همونی که مشکل داشت و من دوباره ساختمش ) نرفت.
از اون بعد چند بار امتحان کردم و به این نتیجه رسیدم که وقتی یه بار تاریخ سیستم رو جلو میکشم . دیگه با تاریخ عقب تر از اون کار نمیکنه.
خوب من تازه صورت مساله رو فهمیدم . لطفا من رو در حل این مساله یاری دهید.
با تشکر

mahdi_farhani
یک شنبه 30 دی 1386, 16:09 عصر
چه ربطی به تاریخ داره .
میشه کدها HTml و کد بیهاندو بزاری

el_abdollahi
یک شنبه 30 دی 1386, 19:10 عصر
راستش من هم نمیدونم . این هم از کدها:

hamedgh
یک شنبه 30 دی 1386, 20:49 عصر
الان چه مشکلی باقی مانده فقط با تاریخ مشکل داری
تاریخ بعید می دانم مشکل داشته باشد
در لوگینت که کار خاصی نمی کنی فقط در دیتا بیس چک می کنی از formauthentication
که استفاده نمی کنی که بیندازیم تقصیر ان

scorpion_man
یک شنبه 30 دی 1386, 20:53 عصر
الان چه مشکلی باقی مانده فقط با تاریخ مشکل داری
تاریخ بعید می دانم مشکل داشته باشد
در لوگینت که کار خاصی نمی کنی فقط در دیتا بیس چک می کنی از formauthentication
که استفاده نمی کنی که بیندازیم تقصیر ان

:قهقهه: آره همه تقصیرا گردن همین formsauthentication هست

mahdi_farhani
یک شنبه 30 دی 1386, 21:07 عصر
خوب اولین مشکلی که من دیدم و شاید از همین باشه Response.write هست . وقتی از Ajax استفاده میکنی با Session و Response.write مشکل پیدا میکنی . اینها رو وردار ببین چی میشه .

hamedgh
یک شنبه 30 دی 1386, 21:11 عصر
به جای این



Me.Page.ClientScript.RegisterForEventValidation(c. UniqueID.ToString())



اینو بنویس

ClientScriptManager ClientScriptManager = new ClientScriptManager();
ClientScriptManager.RegisterForEventValidation(); استی اگر از اجاکس استفاده می کنی نمی توانی از
Page.ClientScript

استفاده کنی باید به جای ان ازScriptManager استفاده کنی

el_abdollahi
یک شنبه 30 دی 1386, 21:41 عصر
سلام
در جواب اقای فراهانی : توی اون فرمی که از response.write() استفاده کردم از ajax استفاده نکردم . یعنی باز هم ممکنه مشکل از اون باشه . چون که متاسفانه از iframe استفاده کرده ام . مجبور هستم که از خاصیت target برای باز کردن صفحه استفاده کنم . اول از کلاس responseHelper و UpdatePanel استفاده میکردم که همین مشکل پیش میومد . اونها رو برداشتم و از response.write استفاده کردم . مشکل تا حدی برطرف شد و دوباره این مشکل پیش اومد . اول خطای Invalid postback or callback argument وبعد دوباره عدم login.
در جواب آقا حامد . بعد از اینکه فرم رو دوباره ساختم دیگه مشکلی با EventValidation نداشتم و مشکل عدم login پیش اومد . اون هم وقتی که تاریخ سیستم رو جلو کشیدم و بعد به عقب برگردوندم .
در ضمن من از FormAuthentication استفاده نکردم .
و در نهایت از توجه همگی مچکرم.

el_abdollahi
دوشنبه 01 بهمن 1386, 11:57 صبح
ایها الناس به دادم برسید .
درست نشد . گفتند reponse.write رو بردار گفتم چشم .
ClientScript.RegisterClientScriptBlock گذاشتم درست نشد .
ScriptManager.RegisterClientScriptBlock گذاشتم باز هم درست نشد . دیگه کلا خراب شده . با تاریخ هم دیگه درست نمیشه . حالا تازه برگشتم سر خونه اصلی وارد میشه ولی تغییرات اعمال نمیشه . یعنی مثلا یه کاربر وارد میشه . نام اون که توی یه سشن هستش توی یه لیبل نشون داده میشه . بعد کاربر sign out میکنه و یه کاربر دیگه وارد میشه توی سشن هم نام کاربر جدید هست . اون نام هم به لیبل انتساب داده میشه ولی روی فرم اسم کاربر قبلی هست .
من چه کار کنم . لطفا کمک کنید .

el_abdollahi
دوشنبه 01 بهمن 1386, 12:02 عصر
حالا دوباره اصلا وارد نمیشه .:عصبانی++::عصبانی++:

el_abdollahi
دوشنبه 01 بهمن 1386, 14:06 عصر
سلام
یه سوال جدید : توی سایت من کابر ابتدا وارد یه صفحه لاگین میشه . یوزر و پسوردش رو میده . اگر درست بود وارد صفحه انتخاب گروه میشه و از اونجا گروه کاریش رو انتخاب میکنه . تا اینجا همه چیز خوبه.ولی مشکل اینجاست که گاهی وقتها بعد از انتخاب گروه کاری بعد از اجرای این دستور

ScriptManager.RegisterClientScriptBlock(Me, Me.GetType(), "go", "window.open('index2.aspx','_parent')", True)
دوباره به فرم لاگین برمیگرده . چرا اصلا به فرم دیگه ای نمیره ؟؟؟؟:متفکر:
نظر شما چیه ؟؟؟؟؟:گیج:

hamedgh
دوشنبه 01 بهمن 1386, 19:55 عصر
شما که کد برنامه را همه اش را خودت نوشتی و سورسش را داری خوب برنامه ات را trace کن
و خط به خط به اجرا کن ببین کجا سیشن خالی است و چرا لوگین نمیکنه خطا از چیست !!!!!!!!!
به ازای هر خطای در پروژه ات یک پست اینجا می فرستی !!!!!!!



در ضمن اگر scriptmanger در صفحه داری می توانی کد با لا را بنویسی
اگر نداری می توانی کد قبلی اش را بنویسی

mahdi_farhani
دوشنبه 01 بهمن 1386, 23:49 عصر
برنامت فکر کنم از بیس مشکل داشته باشه . خیلی مشکلاتت عجیب و غریبه .