مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

mohammadd

عضویت از 1395/12/08

مشکلات استفاده از متغییر Static و راهکار جایگزین

  • سه شنبه 9 بهمن 1397
  • 12:03
تشکر میکنم

سلام

من تو برنامم به وفور از متغییر Ststic استفاده کردم و تو کار به مشکل همزمانی ورود اطلاعات خوردم و فهمیدم چه خرابکاری کردم

حالا سوالم اینه از چه چیزی استفاده کنم که جایگزین مناسبی برای Static باشه و زمان reload صفحه یا refresh شدن صفحه پاک نشه

به طور مثال شماره کاربری که برای ویرایش کاربر میگیرم  ، تو بالای صفحه به صورت لوکال برای همون صفحه تعریفش کردم و وقتی تو گرید ویو کاربر انتخاب میکنه شماره کاربری و میگیره و بعد میره داخل یه تابعی کاراشو میکنه و یه پیغام هشدار میاد که مثلا مطمئنی میخوای ویاریش کنی بعد دقیقا همون لحظه که پیغام اومده یه کاربر دیگه از سیستم دیگه میاد یکی دیگرو انتخاب میکنه و کاربر آخر که انتخاب شده ویرایش میشه

یا مثلا برای تعداد دفعات برای تلاش ورود به سیستم از یه متغییر استفاده کردم و هر بار یدونه بهش اضافه میشه

حالا که بعد 4 بار یه کاربر دیگه بخواد لاگین کنه کانتر من که  الان 4 میشه 1

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

پاسخ های این پرسش

تعداد پاسخ ها : 3 پاسخ
کاربر سایت

salman_b

عضویت از 1396/02/18

  • سه شنبه 9 بهمن 1397
  • 21:34

سلام

عزیز من متغیرهای استاتیک برای تنظیمات و یا caching استفاده میشن.

شما یه input hidden داخل html تعریف می‎کنی و این داده ای که می‌خوای سمت کاربر در دسترس باشه رو میریزی داخل value اون input

به همین سادگی

برای مورد دومتون هم باید عرض کنم که هیچ راهی به جز استفاده از Session که امنیت رو برای شما تامین کنه وچود نداره!

به نظرم راجع به ساز و کار وب کمی مطالعه کنید و چند نمونه کد هم ببینین.

موفق باشید.

کاربر سایت

mohammadd

عضویت از 1395/12/08

  • سه شنبه 9 بهمن 1397
  • 21:54

میدونم اینم تو اجرا متوجه شدم چون تو برنامه ویندوزی چنین چیزی برنخوردم و تو وب مشکل دارم

میدونم از hidden فیلد باید استفاه کنم اما اولا من جایی لازم دارم آی دی کاربری که انتخاب میشرو داشته باشم و چند جا باهاش کار دارم

دوم اینکه من یه آرایه دارم اونو چجوری بریزم تو hidden فیلد؟ یا ... که با رفرش شدن پاک نشه

کاربر سایت

salman_b

عضویت از 1396/02/18

  • چهارشنبه 10 بهمن 1397
  • 08:14

ببین id کاربر چیزیه که همیشه بهش نیاز هستش و خیلی مهمه.

باید زمانی که کاربر داخل سایت Login میکنه بعضی از این اطلاعات رو داخل token احراز هویت کاربر که معمولا در کوکی ذخیره میشه نگه داری که به صورت رمز شده سمت کاربر ذخیره میشه و با هر request اون رو سمت سرور از حالت رمز خارج میکنی و ...

برای سوال دوم هم خیلی ساده میتونی در صفحات cshtml با استفاده از razor یک foreach بنویسی و به تعداد آرایه input بسازی مثلا:

                @foreach(var item in Model.MyArray)
                {
                    <input type="hidden" value="@item"/>
                }
کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)