好的,所以我创建了一个MVC 3互联网应用程序,创建了3个新的用户管理员,user1和user2。我已经为我的“帖子”创建了一个新模型和控制器,我可以添加,编辑和删除这些项目。我目前在posts表中有一个名为UserID的列。我希望自动填充当前的UsersID。我想我会在控制器中定义这个:
[HttpPost]
public ActionResult Create(Post post)
{
if (ModelState.IsValid)
{
public int User = System.Web.Security.Membership.GetUser(id);
db.Posts.Add(post);
db.SaveChanges();
return RedirectToAction("Index");
}
return View(post);
}
在模型中,这就是我目前所拥有的:
public class Post
{
public int PostID { get; set; }
public int UserID { get; set; }
public string PostTitle { get; set; }
public int PostType { get; set; }
public string PostBody { get; set; }
public string PostBlogTitle { get; set; }
public string PostBlogURL { get; set; }
public string PostCategory { get; set; }
public string PostSEO { get; set; }
public int PostStatus { get; set; }
}
public class PostDBContext : DbContext
{
public DbSet<Post> Posts { get; set; }
}
我想用控制器中新定义的变量替换public int UserID { get; set; }
,但不知道在哪里/如何添加它。
答案 0 :(得分:0)
我不清楚你想要达到的目标。您只是尝试将当前用户分配给模型,保存它然后将其传递回视图吗?
如果是这样,你可以这样做:
[HttpPost]
public ActionResult Create(Post post)
{
if (ModelState.IsValid)
{
// Note: I'm assuming this actually works/returns an int
public int User = System.Web.Security.Membership.GetUser(id);
post.UserID = User;
db.Posts.Add(post);
db.SaveChanges();
return RedirectToAction("Index");
}
return View(post);
}