PDA

View Full Version : حفظ اطلاعات در یک صفحه برای هر کاربر



maktab
شنبه 26 فروردین 1391, 22:30 عصر
سلام
یه سوالی برام پیش آمده که هنوز برطرف نشده توی این انجمن فکر کنم مطرح کرده بودم. الان مساله را ریزتر میکنم شاید به نتیجه رسیدم.
بعضی وقت ها اطلاعات را از بانک میخونیم و در یک کنترلی نمایش میدیم که فقط امکان قرار گرفتن یک فیلد از اطلاعات در آن هست مثل رادیو باتن لیست. ولی ممکنه اطلاعات بیشتری از آنها را نیاز داریم. مثلا برای نوشتن یک نظرسنجی. ما اطلاعات سوال ها را از بانک میگیریم و تیتر آنها را در کنترل نمایش میدیم در صورتی که به شماره آنها نیز نیاز داریم. حالا بهتره در کجا بزاریمشون تا بتونیم به درستی بعدا از آنها استفاده کنیم؟ توجه کنید فقط قراره در همان صفحه استفاده بشه نه در صفحات دیگر، پس نیازی به session نیست.
من کامپوننت نظرسنجی که در این انجمن هست را بررسی کردم گویا از لیست ایستا برای این کار استفاده شده. آیا این کار درستیه؟
شاید برای نظرسنجی درست باشه چون گزینه ها برای همه ثابت هست. برای بقیه چی رو پیشنهاد میکنید؟

ghbn1362
شنبه 26 فروردین 1391, 23:52 عصر
برای یک نظر سنجی که اطلاعات نظر سنجی از بانک میاد می توانید از Datalist یا Repeater استفاده کنید و سوالات را از بانک خوانده در یک Lable در Datalist اضافه نمایید جواب ها نیز که به ازای هر سوال چندتایی است به صورت یک user-control بوده که در آن یک datalist دیگر متصل به بانک می باشد و با استفاده از این user-control در Datalist اول به راحتی یک نظر سنجی کامل پویا بدست حواهید آورد.

maktab
یک شنبه 27 فروردین 1391, 14:16 عصر
این مثال نظرسنجی که زدم فقط یک مثال بوده چرا صورت مساله را پاک میکنید!؟
بزارید یه مثال دیگه بزنم.
شما میخواید لیست موضوعات را برای مدیر سایت در قسمت ارسال مطلب نشان بدید. حالا برای این کار از یک DropDownList استفاده میکنید و فقط نام موضوع ها را در آن بایند میکنید در صورتی که به شماره هر کدام از موضوعات نیاز داریم. برای اینکه شماره های موضوعات متناظر را داشته باشیم باید چکار کرد؟
روش هایی که به ذهنم میرسه استفاده از لیست ایستا و استفاده از viewstate هست. حالا نحوه استفاده و مشکلات هر کدام:
وقتی از لیست ایستا استفاده میکنیم به این صورته که اول تمام اطلاعات مورد نظر را از بانک دریافت کرده و به فقط نام موضوع ها را به DropDownList وصل کرده و در صورتی که موضوعی انتخاب شده شماره متناظر با آن از لیست گرفته شده و مورد استفاده قرار میگیره. ولی لیست های ایستا به دلیل ثابت بودن برای تمام کاربران ممکنه بعدا به مشکل بربخوریم.
در روش استفاده از viewstate هم مانند لیست ایستا عمل میکنیم با این تفاوت که به جای ذخیره در لیست در viewstate ذخیره میکنیم که در این روش مشکل قبلی را نداریم به جای آن به دلیل اطلاعات viewstate، صفحه خیلی سنگین میشه.

روش های دیگه ای هم سراغ دارید؟