PDA

View Full Version : سوال: ایجادصفحه پرسش وپاسخ



monika
چهارشنبه 30 فروردین 1391, 14:10 عصر
سلام
من میخواستم در پروژه ام صفحه پرسش وپاسخ بذارم به طوری که کاربر پیغامی روواسه مدیربفرسته و مدیر جواب بده واین صفحه واسه همه قابل دیدن باشه یه چیزی شبیه همین پرسش وپاسخی که تو این سایت انجام میشه.واسه این کار از دیتالست باید استفاده کنم؟میشه راهنماییم کنید؟

hamed_hossani
چهارشنبه 30 فروردین 1391, 17:55 عصر
یه جدول پرسش(id,title,content,date,idUser)دارید
و یک جدول پاسخ(id,idPorsesh,content,name,email,date)

با فیلد idPorsesh که در جدول پاسخ است مشخص میشه که کدوم پاسخ مربوط میشه به کدام سوال
به صورت کلی گفتم!

mortal6886
چهارشنبه 30 فروردین 1391, 20:01 عصر
سلام
من اينطور فرض ميكنم كه علاوه بر مدير افراد ديگر هم بتوانند به سوالات پاسخ بدهند و يك صفحه ديگر براي نمايش پاسخ ها داشته باشيد!كه روي هر سوال كه كليك كرد وارد آن صفحه شود و تمامي پاسخ هايي كه به آن سوال داده شده را بتوانند مشاهده كنند.(جداول هم مثل همون جداولي كه دوستمون گفته)
شما مي تونيد براي نمايش پرسش ها از كنترل gridview استفاده كنيد كه داده هاي جدول سوالات را به آن بايند ميكنيد!
در قسمت edit columns مربوط به گريدويو يك hyperlinkfield اضافه كنيد براي نمايش سوالات ،كه خصوصياتش را به صورت زير تنظيم كنيد
datanavigationurl=فيلد ID جدول سوالات قرار دهيد
datanavigationurlformatstring =نام صفحه اي كه ميخواهيم پاسخ ها در آن نمايش يابد?cid={0}
براي مثال اسم صفحه مورد نظر ما Responseاست به صورت زير مينويسم
responce.aspx?cid={0}(استفاده از querystring)
datatextfield=فيلد content جدول سوالات (فيلدي كه سوالات در آن ذخيره شده)
براي صفحه پاسخ ها نيز بايد يك gridview قرار بديد
خوب ID سوال و كه با كوئري استرينگ به اين صفحه فرستاديم حالا بايد ازش استفاده كنيم! بايد براي datasource گريد ويو پاسخ ها بگيم برو تو جدول پاسخ ها بگرد هر سطري كه فيلد idPorsesh برابر با اين ID ماست (هموني كه با كوئري استرينگ گرفتيم)را نمايش بده اين كليت كار ،با توجه به روشهاي اتصال به بانك اطلاعاتي كدش فرق ميكنه
كوئري select شما تقريبا اينطوري ميشه


select content from responce where idporsesh=@ID

@ID را بايد به دستور select به صورت پارامتر ارسال كنيد( همون ID كه با كوئري استرينگ فرستاديم)
براي گرفتن ID ارسال شده توسط كوئري استرينگ (در صفحه responce) به صورت زير عمل كن


reqest.querystring["cid"]

در page load صفحه responce.aspx اينطور بنويس



if (reqest.querystring["cid"]!=null)
{
تعيين ديتا سورس مربوط به گريد ويو =gridview1.datasource

}


اميدوارم براتون مفيد باشه

}

monika
پنج شنبه 31 فروردین 1391, 11:56 صبح
ممنون از راهنماییتون.من می خوام فقط مدیر بتونه پاسخ سوال ها روبده کدش بازم به این صورت می شه؟

monika
یک شنبه 31 اردیبهشت 1391, 21:06 عصر
دوست عزیز اگربخوام فقط مدیر پاسخ سوال رو بده این کارروچطورباید انجام بدم؟

aliyeh
دوشنبه 01 خرداد 1391, 11:19 صبح
دوست عزیز اگربخوام فقط مدیر پاسخ سوال رو بده این کارروچطورباید انجام بدم؟
دوست من اگه بخوای فقط مدیر بتونه پاسخ بده یه راهش این هست که در pageload صفحه چک کنی و اگه کاربر وارد شده مدیر بود لینک پاسخ رو نشون بدی در غیر این صورت غیر فعالش کنی.

راستی اگه بخوایم مثل سرویس ایمیل عمل کنیم و پرسش هایی که مدیر هنوز بازشون نکرده رو به یه شکل دیگه (مثلا bold ) نشون بدیم که مدیر بفهمه چه سوالاتی رو خونده و کدوم رو هنوز نخونده چیکار کنیم بهتره؟