0

我需要获取(UserUniqueId)在 Get 操作期间存储的属性的值。

public ActionResult Create(int uniqueId = -1)
{
    w = new Work { UserUniqueId = uniqueId };
    //todo: how to pass uniqueId while rendering view. such that must receive it back during post.
    return View(w);
}

查看不会填充/更新此值。我需要访问UserUniqueId数据库保存操作。

    [HttpPost]
    public ActionResult Create(Work work)
    {
        if (ModelState.IsValid)
        {
            //Set uniqueId, Set UserId
            int userId = WebSecurity.HasUserId ? WebSecurity.CurrentUserId : -1;
            work.UserId = WebSecurity.CurrentUserId;
            //Need previously stored uniqueId here.
            work.UserUniqueId = //How do I obtain this value here.
            db.SaveChanges();

            return RedirectToAction("Index");
        }

        return View(work);
    }
4

2 回答 2

0

您需要<input type="hidden" />在表单中包含值。(@Html.Hidden()来自模型属性)

然后,您可以在 POST 操作中将其作为模型的属性(或作为方法的单独参数)获取。

于 2013-06-09T15:08:57.223 回答
0

在视图中,我假设您已@Model设置为 Work 然后您可以创建隐藏字段,例如

 <%= Html.HiddenFor(m=>m.UserUniqueId) %>
于 2013-06-09T15:10:33.000 回答