PDA

View Full Version : سوال: فوری: ارسال n پارامتر به n صفحه



nokhod
شنبه 07 دی 1387, 09:53 صبح
سلام.

فرض کنید می خواهیم یک سیستم ثبت نام مثل ثبت نام کنکور بنویسیم که باید در چند مرحله اطلاعات مختلفی رو از کاربر جمع آوری کنیم. در هر مرحله می خوام اطلاعات مختلفی که در TextBox، RadioButton، (DataTable)GridView و یا هر چیز دیگه قرار می گیره جمع کنم و در مرحله یا صفحه آخر همه رو یک جا در بانک Insert کنم. اولین راه حلی که به ذهنم اومد استفاده از MultiViewو گذاشتن یک View برای هر یک از مراحله. اما فکر می کنم اگر مراحل زیاد باشه سرعت لود صفحه خیلی پایین بیاد.استفاده از Session هم فکر کنم خوب نباشه چون هنگام ثبت نام کاربران زیادن و اطلاعات اونها هم خیلی بیشتر.

آیا روش بهتری وجود نداره؟

پیشاپیش ممنون.

Saber_Fatholahi
شنبه 07 دی 1387, 10:01 صبح
به نظر من بهترین گزینه برای این کار ViewState هست اما اساتید دیگه راه دیگه ای شاید مد نظرشون باشه

nokhod
شنبه 07 دی 1387, 10:54 صبح
آیا ViewState با Session خیلی تفاوت داره؟
اینم باید روی سرور فضا اشغال کنه، نه؟ آخه کاربرای آنلاین زیادن، اطلاعاتشون هم خیلی زیاد.

raminsoft
شنبه 07 دی 1387, 13:00 عصر
فرق ViewState با Session دقیقا توی همین نکته است که ViewState به سرور فشار نمی آورد و داده ها را در صفحه سمت کاربر ذخیره میکنه و البته تنها عیب این روش افزایش حجم صفحه است .ولی در کل Scalable هست یعنی با افزایش تعداد کاربران سایت هیچ فشاری روی سرور نمی آید و فکر کنم بهترین گزینه هم برای شما همین ViewState هست.

ennovation
شنبه 07 دی 1387, 15:09 عصر
سلام
بنظر من استفاده از کنترل
ASP.NET wizard control


راه حل مناسبی برای چنین مواردی هست .
یک مثال دراین مورد (در پایین صفحه این لینک میتونی یک مثال رو امتحان کنی )

http://www.dotnetfunda.com/tutorials/controls/wizard.aspx

m.hamidreza
شنبه 07 دی 1387, 21:24 عصر
در مرحله یا صفحه آخر همه رو یک جا در بانک Insert کنم.

چه دلیلی داره همه رو جمع کنی یک جا insert کنی؟! مرحله به مرحله insert کن.

nokhod
دوشنبه 16 دی 1387, 22:19 عصر
برای Consistence (سازگاری) بانک:
ممکنه بعد از مرحله 1 که Insert انجام شد، کاربر Disconnect بشه، دیگه نتونه وصل بشه، خسته بشه، از سایت خارج بشه تا یه وقته دیگه دوباره بیاد!

اگر اینجور آدما زیاد باشن، حجم زیادی از اطلاعات بی فایده تو Database اضافه میشه.

راستی به نظر من Wizard خوب نیست، چون باید تمام مراحل توی یک صفحه قرار بگیرن که سرعت لود صفحه پایین می یاد.

milade
دوشنبه 16 دی 1387, 22:43 عصر
کوکی هم هست !

saleh.hi.62
دوشنبه 16 دی 1387, 23:08 عصر
نمیدونم منطقی هست یا نه چون من زیاد حرفه ای نیستم.

1-هر دفعه مقادیر رو به صورت پارامتر ارسال کنی و با کوری استرینگ بگیری و دفعه بعد دوباره اطلاعات جدید و فدیمی دوباره ارسال کنی تا مرحله آخر.

2-نمیدونم ولی نمیشه تمام اطلاعات رو توی یه ارایه از OBJECT ریخت؟بعد یه جا فرستاد به دیتا بیس.

منو ببخشید.

m.hamidreza
دوشنبه 16 دی 1387, 23:14 عصر
برای Consistence (سازگاری) بانک:
ممکنه بعد از مرحله 1 که Insert انجام شد، کاربر Disconnect بشه، دیگه نتونه وصل بشه، خسته بشه، از سایت خارج بشه تا یه وقته دیگه دوباره بیاد!
اگر اینجور آدما زیاد باشن، حجم زیادی از اطلاعات بی فایده تو Database اضافه میشه.


کنترل این چیزی که شما میگی بعهده ی خودته اگه کاربرت رجیستر شده باشه همیشه میتونی آخرین مرحله ای رو که با موفقیت پشت سر گذاشته رو تو db ذخیره کنی و از مرحله ی بعدیش ادامه بدی.


کوکی هم هست !
حداکثر سایز کوکی فکر کنم 4 کیلوبایت باشه.

mahdi_farhani
سه شنبه 17 دی 1387, 00:57 صبح
شاید حالت ویزارد یا multi View حجم صفحتو زیاد کنه ، و این فقط تو سرعت لود اولیه تاثیر گزاره (البته اگر از آژاکس استفاده کنی) هست.
در ضمن اگر هم صفحه به صفحه باشه فکر نکم به حال کاربر تاثیری داشته باشه ، چون باید دوباره صفحه لود بشه و به نظرم زمان لودش بیشتر از آن زمانی است که تو یک صفحه باشه .
البته همه اینها به نحوه کدنویسی و دیزاین داره و هیچی 100%100 نیست.
*************
اگر تو یک صفحه باشه ، از ترانز اکشن هم میتونی استفاده کنی .

milade
سه شنبه 17 دی 1387, 09:05 صبح
حداکثر سایز کوکی فکر کنم 4 کیلوبایت باشه.
سلام
http://www.tech-archive.net/Archive/Internet-Server/microsoft.public.inetserver.misc/2005-01/0008.html

هر چند همون 4 کیلو هم بسه . مگه میخواد چی کار کنه؟!
ولی در کل سشن پیشنهاد نمیکنم من !