PDA

View Full Version : سوال: چگونگی حفظ State در Postback های آتی به سرور



aserfg
یک شنبه 04 مهر 1389, 08:57 صبح
در صفحه اي دو عنصرtable است من مي خواهم كه در هر لحظه تنها يكي از آنها قابل مشاهده باشد براي اين كار از كتابخانه jquery استفاده مي كنم به شكل زير :



<scripttype="text/javascript"src="../scripts/jquery.js"></script>
<scripttype="text/javascript">
$(document).ready(function(){

$("#insertnazari").click(function(){
$("#editrow").hide(1000);
$("#edit").hide(1000);
$("#insert").show();
$("#question").show();
$("#option").hide(1000);
})
$("#editevote").click(function(){
$("#editrow").show(1000);
$("#edit").show();
$("#insert").hide();
$("#question").show();
$("#option").hide(1000);
})

$("#insertoption").click(function(){
$("#question").hide(1000);
$("#option").show();

})


});


Insertnazariوeditevoteوinsertoption عناصر تصوير هستند كه رويداد كليك اونا رو كدنويسي كردم . كد درست اجرا مي شه ولي مشكل اينجاست كه اگر زماني در جدول فعال(وضعيت نمايش) توسط عنصري پست بك انجام بشه دوباره همه عناصري كه پنهان شده اند دوباره ظاهر مي شن . آيا براي اين كه در پست بكها حالات و وضعيت اين عناصر حفظ بشه توسط جاوا اسكريپت راهي هست ؟

به عبارت آیا راهی هست که زمانی که عنصری رو مخفی کردیم تا زمانی که دوباره توسط رویدادی از حالت hidden خارج نشده به همین صورت بمونه حتی در صورت پست بک صفحه

mohsen_zelzela00
دوشنبه 05 مهر 1389, 10:23 صبح
در صفحه اي دو عنصرtable است من مي خواهم كه در هر لحظه تنها يكي از آنها قابل مشاهده باشد براي اين كار از كتابخانه jquery استفاده مي كنم به شكل زير :






Insertnazariوeditevoteوinsertoption عناصر تصوير هستند كه رويداد كليك اونا رو كدنويسي كردم . كد درست اجرا مي شه ولي مشكل اينجاست كه اگر زماني در جدول فعال(وضعيت نمايش) توسط عنصري پست بك انجام بشه دوباره همه عناصري كه پنهان شده اند دوباره ظاهر مي شن . آيا براي اين كه در پست بكها حالات و وضعيت اين عناصر حفظ بشه توسط جاوا اسكريپت راهي هست ؟

به عبارت آیا راهی هست که زمانی که عنصری رو مخفی کردیم تا زمانی که دوباره توسط رویدادی از حالت hidden خارج نشده به همین صورت بمونه حتی در صورت پست بک صفحه



بله دوست عزیز
شما یک مقدار ثابت رو در کوکی یا یک کنترل مثل HiddenField قرار میدید و وقتی که صفحه مجدداً بارگزاری شد مقدار درون کوکی یا HiddenField رو می خونید و اون قسمت مد نظر رو show می کنید

اگه نتونستید انجام بدید بگید نمونه کد قرار بدم

elham366
دوشنبه 10 مرداد 1390, 18:28 عصر
سلام
میشه نمونه کد با هیدن فیلد بذارید؟

javad.nic63
سه شنبه 18 مرداد 1390, 15:06 عصر
این کد hidden field:

<input type="hidden" id="h1" value="1" />
حالا توی کد jquery اینطوری هر دفعه که تغییر دادی تغییرش میدی.

$("#h1").val('new information');

و وقتی که صفحت پست بک شد با استفاده از کد زیر اطلاعات رو می خونی

var Info = $("#h1").val();

میتونی برای اولین بار که صفحه رو باز میکنی مقدار value رو یک مقدار خاص قرار بدی و توی تابع jquery چک کنی اگه مقدار اولیه نباشه به این معنیه که تغییری داده نشده و اطلاعات اولیه رو نشون میده ولی اگه مقدار اولیه نباشه به این معنیه که عوض شده پس اطلاعات رو از همون hidden field میخونیم.