こんにちはみんな私は少し問題があるかもしれません私は私のレビューコントローラーのインデックスセグメントの次のコードでこれをやろうとしたのは難しいかもしれません:
var Info = db.tblReviews.Include(x => x.tblGame).Where(UserInfo => UserInfo.UserName.Equals(User.Identity.Name)).ToList();
return View(Info);
そして、私が適用したレビューコントローラーの最初の作成内で:
ViewBag.GameIDFK = new SelectList(db.tblGames, "GameID", "GameName");
return View(new tblReview { UserName = @User.Identity.Name });
私の問題は、人々がゲームにレビューを書けるようにしようとしていることです。ゲームを投稿するすべてのユーザーが一意であり、ゲームは自分のアカウントでのみ表示できるようになっていますが、編集/削除/更新に関してはできません。ゲームレビューを投稿したユーザーが自分のゲームのみを削除/更新/編集でき、他のユーザーは削除できないようにします。
たとえば、shamとbamという2人の構成ユーザーがいます。各ユーザーはレビューページに投稿したゲームを見ることができますが、レビューの編集/更新と削除に関しては、ユーザーはお互いの投稿を削除/編集と更新の両方を行います。
これは私のレビューコントローラーです:
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.Entity;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using GameTest.Models;
namespace GameTest.Controllers
{
public class ReviewController : Controller
{
private gamezoneDBEntities db = new gamezoneDBEntities();
//
// GET: /Review/
public ViewResult Index()
{
var Info = db.tblReviews.Include(x => x.tblGame).Where(UserInfo => UserInfo.UserName.Equals(User.Identity.Name)).ToList();
return View(Info);
}
//
// GET: /Review/Details/5
public ViewResult Details(int id)
{
tblReview tblreview = db.tblReviews.Find(id);
return View(tblreview);
}
//
// GET: /Review/Create
public ActionResult Create()
{
ViewBag.GameIDFK = new SelectList(db.tblGames, "GameID", "GameName");
return View(new tblReview { UserName = @User.Identity.Name });
}
//
// POST: /Review/Create
[HttpPost]
public ActionResult Create(tblReview tblreview)
{
if (ModelState.IsValid)
{
db.tblReviews.Add(tblreview);
db.SaveChanges();
return RedirectToAction("Index");
}
ViewBag.GameIDFK = new SelectList(db.tblGames, "GameID", "GameName", tblreview.GameIDFK);
return View(tblreview);
}
//
// GET: /Review/Edit/5
public ActionResult Edit(int id)
{
tblReview tblreview = db.tblReviews.Find(id);
ViewBag.GameIDFK = new SelectList(db.tblGames, "GameID", "GameName", tblreview.GameIDFK);
return View(tblreview);
}
//
// POST: /Review/Edit/5
[HttpPost]
public ActionResult Edit(tblReview tblreview)
{
if (ModelState.IsValid)
{
db.Entry(tblreview).State = EntityState.Modified;
db.SaveChanges();
return RedirectToAction("Index");
}
ViewBag.GameIDFK = new SelectList(db.tblGames, "GameID", "GameName", tblreview.GameIDFK);
return View(tblreview);
}
//
// GET: /Review/Delete/5
public ActionResult Delete(int id)
{
tblReview tblreview = db.tblReviews.Find(id);
return View(tblreview);
}
//
// POST: /Review/Delete/5
[HttpPost, ActionName("Delete")]
public ActionResult DeleteConfirmed(int id)
{
tblReview tblreview = db.tblReviews.Find(id);
db.tblReviews.Remove(tblreview);
db.SaveChanges();
return RedirectToAction("Index");
}
protected override void Dispose(bool disposing)
{
db.Dispose();
base.Dispose(disposing);
}
}
}
さらに必要な場合は、私に感謝を知らせてください
とても有難い