PDA

View Full Version : حفظ مقدار يك متغير



pedram_ns
سه شنبه 31 فروردین 1389, 14:00 عصر
سلام
اگه عنوان نامفهومه ببخشيد.
چطور مي شه مقداري رو به يك متغير داد و اون رو حفظ كرد.
براي مثال من مقدار نام رو از فيلد صفحه قبل مي گيرم و اون رو به متغيير name مي دم با كد:
name=request.form("name")
حالا با اين مقدار مثلا يك ليست ويو رو نمايش ميدم مشكلم اينه كه وقتي در ليست ويو صفحه رو عوض مي كنم اين مقدار رو ديگه نمي تونه بخونه(اين مقدار در رويداد DataPager1_PreRender دوباره گرفته مي شه) و ليست ويو خالي مي شه راه حل اين مشكل چيه.
اگه با كد
name=name.text اطلاعات رو بگيرم براي تمام حالات كار مي كنه ولي اين كد براي دريافت اطلاعات از همون صفحه بكار مي ره نه از صفحات ديگه؟؟؟؟؟؟؟؟؟

Rambod
سه شنبه 31 فروردین 1389, 14:31 عصر
از Session یا ViewState یا HiddenField استفاده کنید.

pedram_ns
سه شنبه 31 فروردین 1389, 23:11 عصر
براي اين كار سژن فكر نكنم خوب باشه و HiddenField هم چون تعداد ايتم هاي جستجوي من زيادن جالب نيست ولي مي شه در مورد viewstate در اين روش بايد چكار كرد؟

Rambod
چهارشنبه 01 اردیبهشت 1389, 09:48 صبح
برای بار اول که وارد صفحه جستجو میشید، فیلدهای مورد نظرتون رو بخونید و داخل Viewstate ذخیره کنید. در Postbackهای بعدی دیگه کاری با Request.Form نداشته باشید و مقادیر رو از داخل Viewstate بخونید. البته حواستون باشه که Viewstate مختص یک صفحه هستش. یعنی مادامی که Postback صورت میگیره و شما به Page دیگری نرفتید، میتونید از Viewstate استفاده کنید. در غیر اینصورت باید دنبال یک راه دیگر باشید.
نحوه استفاده از Viewstate هم دقیقاً مثل استفاده از Session هستش.


Viewstate("Name")=Request.Form("name")
Dim Name as string = Viewstate("Name")

pedram_ns
چهارشنبه 01 اردیبهشت 1389, 14:57 عصر
خيلي ممنون حالا اگه چند تا فيلد داشته باشي چطور مي شه يعني فيلد هاي:
name,family,age حالا viewstate رو چطور بايد نوشت؟

Rambod
چهارشنبه 01 اردیبهشت 1389, 16:58 عصر
Viewstate("name")
Viewstate("family")
و ...