[英]Passing an user ID in ASP.NET MVC 4
我的用戶類有一個ICollection of Projects。 現在,我使用Action Link將用戶ID傳遞到Projects控制器中的create方法
@Html.ActionLink("Post a project", "Create", "Project", new{id = @Model.UserId}, new{@class="btn btn-success"})
我的問題是如何捕獲它並將項目與用戶相關聯。 這是我的GET和POST方法的控制器代碼。
public ActionResult Create(int id)
{
ViewBag.ProjectId = new SelectList(db.ProjectDetails, "ProjectDetailId", "TargetAudience");
ViewBag.ProjectTypeId = new SelectList(db.ProjectTypes, "ProjectTypeId", "ProjectTypeName");
ViewBag.UserId = id;
return View();
}
// POST: /Project/Create
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create(Project project)
{
if (ModelState.IsValid)
{
db.Projects.Add(project);
db.SaveChanges();
return RedirectToAction("Index");
}
ViewBag.ProjectId = new SelectList(db.ProjectDetails, "ProjectDetailId", "TargetAudience", project.ProjectId);
ViewBag.ProjectTypeId = new SelectList(db.ProjectTypes, "ProjectTypeId", "ProjectTypeName", project.ProjectTypeId);
ViewBag.UserId = new SelectList(db.Users, "UserId", "UserName", project.UserId);
return View(project);
}
僅在控制器代碼上,在您引用鏈接的操作上
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create(string id)
{
if (ModelState.IsValid)
{
db.Projects.Add(project);
db.SaveChanges();
return RedirectToAction("Index");
}
ViewBag.ProjectId = new SelectList(db.ProjectDetails, "ProjectDetailId", "TargetAudience", project.ProjectId);
ViewBag.ProjectTypeId = new SelectList(db.ProjectTypes, "ProjectTypeId", "ProjectTypeName", project.ProjectTypeId);
ViewBag.UserId = new SelectList(db.Users, "UserId", "UserName", project.UserId);
return View(project);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.