PDA

View Full Version : کدی که VS بیخودی به تمامی صفحات پروژه اضافه می کنه



delphi77
چهارشنبه 03 بهمن 1386, 13:31 عصر
من یک صفحه ساده بدون رخداد و غیره درست کردم
دیدم که وقتی صفحه لود میشه توی view source که می رم
این کد اضافه شده بدون اینکه توی پروژه وجود داشته باشده

<div>
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwULLTEwMDUyNjYzMjgPZBYCZg9kFgICAw9kFgICAQ8PFgI eBFRleHQFJdux27PbuNu2INqG2YfY
p9ix2LTZhtio2Ycg27Mg2KjZh9mF2YZkZGQNXC6FNXb8UueSft lnFe8aKxBZyw==" />
</div>

کسی می دانه آن چیه؟

Alireza_Salehi
چهارشنبه 03 بهمن 1386, 13:49 عصر
این برای نگهداری ViewState هستش باید وجود داشته باشه. اگر نمی خواهیدش Viewstate را غیرفعال کنید!

delphi77
چهارشنبه 03 بهمن 1386, 14:10 عصر
اگر ممکنه بیشتر تتوضیح بدید که بود و نبودش چه لزومی داره؟

Behrouz_Rad
چهارشنبه 03 بهمن 1386, 14:11 عصر
این برای نگهداری ViewState هستش باید وجود داشته باشه. اگر نمی خواهیدش Viewstate را غیرفعال کنید!
حتی با وجود غیر فعال کردن ViewState هم باز هم مقداری در اون قرار می گیره.
برای اینکه به طور کل این مقدار اندک هم حذف بشه، باید روال LoadViewState صفحه رو Override کنید.

موفق باشید.

Behrouz_Rad
چهارشنبه 03 بهمن 1386, 14:36 عصر
اگر ممکنه بیشتر تتوضیح بدید که بود و نبودش چه لزومی داره؟
برخی کنترل ها ماهیت Submit ای ندارند. مثل LinkButton
اگر یک LinkButton به صفحه اضافه کنی و برای اون روال Click تعریف کنی، ASP.NET تابع جاوا اسکریپتی با نام doPostBack__ به صفحه اضافه می کنه تا از طریق اون زمانی که کنترلی که ماهیت PostBack ای نداره، PostBack ای به سرور انجام میده بتونه اون رو تشخیص بده و در چرخه ی حیات صفحه روال Click متناظر با اون رو اجرا کنه.
در سمت دیگه ی قضیه، برخی عناصر ماهیت PostBack دارند مثل Button
در این حالت دیگه نیازی به تابع doPostBack__ نیست و در صورتی که صفحه ای فقط شامل عناصری باشه که ماهیت PostBack دارند این تابع به صفحه اضافه نمیشه و از طریق قرار دادن نام کنترل در ViewState متوجه کنترلی میشه که باعث PostBack شده.

موفق باشید.