PDA

View Full Version : مشکل ادغام کردن CSS و JavaScript و postback انجام شده در UpdatePanel



mahdi.violin
چهارشنبه 26 مرداد 1390, 18:06 عصر
سلام / من یه مشکلی دارم که الان دقیقا توضیح می دم ، لطفا اگر کسی می دونه پاسخ بده ، مرسی
من یک DIV دارم که به عنوان دکمه ازش استفاده می کنم
یک div دیگه دارم که داخل آن شی GridView گذاشتم و postback رو true کردم (GridView داخل یک UpdatePanel هست)
اومدم div دومی رو display: none ست کردم

توی قسمت جاوا اسکریپت گرفتم اگر روی div اولی کلیک کرد div پایینش رو نشون بده با دستور display:block

حالا زمانی که Postback اتفاق میفته ، div مخفی میشه یعنی دستور display: none دوباره خونده میشه و به حالت اول برمیگرده ، حالا می خواستم ببینم میشه کاری کرد که این اتفاق نیفته ؟

hamidre13
شنبه 29 مرداد 1390, 02:36 صبح
دوست عزیز میتونی توسط شی کوکی جاوا اسکریپت با فشرده شدن دکمه یه دونه کوکی ست کنی و در هر بار لود صفحه اول این کوکی رو بخونی و بر اساس اون دیسپلی دکمه رو ست کنی!

mahdi.violin
شنبه 29 مرداد 1390, 12:25 عصر
نه با کوکی نمی خوام این کار رو انجام بدم ، مشکل اینجاس که من از multiview استفاده می کنم ، multiview خاصیتی داره اینکه هر view که در حال اجرا هست داره کدش اجرا میشه ، به خاطر همین زمانی که از یک view به view دیگه میرم css ها دوباره از اول خونده میشن

MiladSe7en
یک شنبه 30 مرداد 1390, 10:39 صبح
سلام

میتونی Div هات رو Runat server کنی. بعد بیای برای Div اولی Attribute جهت کلیک کردن تعریف کنی و همچنین برای Div دومی بیای توی شرط !IsPostBack بنویسی Div.Style ["display"] = "none"

mpmsoft
دوشنبه 31 مرداد 1390, 15:05 عصر
این مشکل به دلیل اولویت اجرای دستور به سمت سرور هست
ظاهرا شما می خواهید قبل از اجرای UpdatePanel شیعی را نمایش داده و در انتها نیز آنرا ببندید و حتما می خواهید برای جلوه بیشتر از حالات گرافیکی Jquery استفاده کنید
برای این کار ابتدا کد زیر رو به صفحه اضافه کن و بعد توسط جاوا اسکریپت دو تابع بنویس یکی برای شروع کار UpdatePanel و یکی در زمان خاتمه کار





Sys.WebForms.PageRequestManager.getInstance().add_ beginRequest(
function(sender, e) {
//isolate the UpdatePanel which caused this postback
if (e.get_postBackElement().id == ""<%= UpdatePanel.ClientID %>") {
//do some loading animation on the update panel
}
});

Sys.WebForms.PageRequestManager.getInstance().add_ endRequest(
function(sender, e) {
//find which UpdatePanel fired the original postback and
//turn off any animation
});