0

既存の質問で答えを探した後、私はまだ少し混乱しています。私はMVC3フレームワークを初めて使用するので、ドープのように聞こえなくなったら、お詫びします!!

では、MVC 3インターネットアプリケーションを作成し、3人の新しいユーザー管理者、user1、user2を作成しました。新しいモデルを作成し、「投稿」のコントローラーを作成して、アイテムを追加、編集、および削除できます。現在、投稿テーブルに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; }ですが、どこに/どのように追加するのかわかりません。

4

1 に答える 1

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);
}
于 2012-06-11T16:23:21.720 に答える