如何使用ViewBag值设置模型属性?

时间:2013-01-23 11:32:26

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

我希望将值设置为ViewBag,如​​下面的

 public ActionResult Register(Guid accountId)
 {
            ViewBag.AccountId = accountId;

            return View("Register", "Account");
  }

现在在注册视图中,我可以设置,如下面的

 @Html.HiddenFor(m => m.AccountId, new { id = "hdaccountid", value = ViewBag.AccountId })

我想用ViewBag值更新model属性。所以当我想在控制器中更新模型时,模型属性包含正确的值。

我不想使用ModelView。请建议。

1 个答案:

答案 0 :(得分:1)

如果我理解......

如果您不通过模型查看,则无法使用HiddenFor

查看

@Html.Hidden("accountId",  ViewBag.AccountId )
@Html.Hidden("id",  "hdaccountid" )

控制器

// pass parameter to view
[HttpGet]
public ActionResult Register(Guid accountId)
{
    ViewBag.AccountId = accountId;

    return View();
    //return View("Register", "Account");
}

// post parameter from view
[HttpPost]
public ActionResult Register(Guid accountId, string id)
{
    // Get model from DB and change it
    // model.accountId = accountId;
    ...
}