ورود

View Full Version : سوال فوری



نیلوفرنصیری
شنبه 08 اسفند 1394, 05:10 صبح
باسلام , دوستان من در حال نوشتن یه سایت ارسال مقاله هستم در یک قسمتی از سای به یه مشکلی برخوردم . و اینکه وقتی که کاربرم ارسال مقاله میکنه تو indexش فقط و فقط لیست مقاله هایه ارسالی خودش رو ببینه نه لیست ارسال شده یه همه رو . ممنون میشم اگه راهنماییم کنید تو quryش موندم با linq یا sql

bomb23
شنبه 08 اسفند 1394, 09:10 صبح
خب یه جدول بساز با حداقل سه فیلد : شناسه - آدرس محل ذخیره فایل - شناسه کاربر ارسال کننده

بعد داخل اکشنت یه سلکت به این جدول میزنی و اونایی که شناسه کاربرشون برابر کاربر جاریه لیستشون رو بر میگردونی و نمایش میدی.

نیلوفرنصیری
شنبه 08 اسفند 1394, 10:25 صبح
این کارو کردم و شرط گداشتم که کاربر قبل از ارسال مقاله باید ثبت نام کنه و باید لاگین کنه, و ادرس سشنش و میریزم رو فیلد profileid,که هم تو users هست و هم تو جدول articlereq تا اینجا بدونه مشکل اکیه
کویری تو ایندکسش برام سواله که باید where باشه نه select

bomb23
یک شنبه 09 اسفند 1394, 03:52 صبح
منظور سوالتونو متوجه نمیشم چون چیزی که من میبینم خیلی سادست و شاید منظور دیگه ای دارید ولی اگه فقط میخواید لیست مقالات هر شخص رو توی صفحه خودش نشون بدید شبه کد Sql زیر رو میتونید بنویسین:

select * from articlereq where user_id = 1

که 1 شناسه کاربر جاریه و خودتون شناسه کاربرو جایگزین این میکنید.
همین کد با linq هم میشه به صورت زیر:

return db.articlereq.where(item=>item.user_id = 1)

نیلوفرنصیری
یک شنبه 09 اسفند 1394, 04:56 صبح
بله کاملا درست هست کمکتون تا اینجا انجام دادم و وقتی که میزنم 1 تمام مقدیر کاربر 1 رو بهم میدم و درست هستش و کدش به این صورته
var artic = db.ArticleReqs.Where(a => a.profileid == profileid); return View(artic.ToList());

مشکلم برای بدست آوردن کاربر جاری یه نمیدونم تو بخش index چظور باید کاربرم رو بدست بیارم

نیلوفرنصیری
یک شنبه 09 اسفند 1394, 04:58 صبح
من تو ارسال مقالم شرط اولم اینه که کاربر registerکرده باشه و login باشه که بعد پنل کاربریش بالا بیاد تا بتونه مقاله های ارسالیش رو ببینه و با user.identity.usernameتو سشن لاگینم از کاربر میگیره . تو ایجاد create مقالم با این کد ViewBag.profileid = new SelectList(db.UsersProfile, "profileid", "username", articleReqs.profileid);
مقدار کاربر جاریم رو تو tabel article ام أخیره میکنم . و مشکلم اینکه کاربر جاریم رو تو بخش index نمیتونم بدست بیارم که ذخیره کنم ممنون میشم اگه کمکم کنید

sonicuser
یک شنبه 09 اسفند 1394, 05:42 صبح
توی اکشن ایندکس باید user id کاربرتونو بدست بیارین و تو کوئری استفاده کنید

int userId=
User.Identity.GetUserId();
return db.articlereq.where(item=>item.user_id = userId)

نیلوفرنصیری
یک شنبه 09 اسفند 1394, 07:55 صبح
شما getuserid رو چطور بدست میارین؟ چون من ندارمش .usingاش رو هم ست کردم ولی ندارمش
تو سشن لاگین میگیره useridرو؟

bomb23
دوشنبه 10 اسفند 1394, 01:37 صبح
دو تا ارجاع زیر رو باید داشته باشید:


using System.Web.Mvc;
using Microsoft.AspNet.Identity;