在编辑操作中发布id以在MVC中回发编辑操作

时间:2014-04-06 09:00:05

标签: asp.net-mvc asp.net-mvc-4

public ActionResult 

    Edit(int id, string ContentId)
                {
                    return View(obj.FindCommentsById(id));
                }

在此操作中,我获得 contentId ,我想将此ID转移到我的回发编辑操作

[HttpPost]
    public ActionResult Edit(Comment comment)
    {
        //comment.AutherUserName = "admin";
        //comment.LikeCount = 0;

        if (ModelState.IsValid)
        {
            TryUpdateModel(comment, new string[] {"CommentText", "Visible"});
          //  obj.Update(comment);
            obj.Save();
        }

        return RedirectToAction("Index", "Comment", new { contentID = ContentId });
    }

因为如您所见,我需要在完成后将此值重定向到索引操作

最好的问候。

1 个答案:

答案 0 :(得分:1)

使用ViewBag,将 ContentId 放在 ViewBag 中编辑获取操作,如下所示:

public ActionResult Edit(int id, string ContentId)
            {
                ViewBag.ContentId = ContentId
                return View(obj.FindCommentsById(id));
            }
在<编辑视图中的

在编辑表单中添加隐藏字段,如下所示:

<input type="hidden" name="ContentId" value="@ViewBag.ContentId"/>

在编辑的后期操作中,从 FormCollection 中读取它并将其传递给索引操作参数:

    [HttpPost]
    public ActionResult Edit(Comment comment,FormCollection form)
    {
        //comment.AutherUserName = "admin";
        //comment.LikeCount = 0;

        if (ModelState.IsValid)
        {
            TryUpdateModel(comment, new string[] {"CommentText", "Visible"});
          //  obj.Update(comment);
            obj.Save();
        }

        return RedirectToAction("Index", "Comment", new { contentID = form["ContentId"].ToString()});
    }

希望它有所帮助。