我需要获取在Get操作期间存储的属性(UserUniqueId)
的值。
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);
}
查看doest不会填充/更新此值。
我需要访问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);
}
答案 0 :(得分:0)
您需要在表单中的<input type="hidden" />
中包含该值。 (来自模型属性的@Html.Hidden()
)
然后,您可以在POST操作中将其作为模型的属性(或作为方法的单独参数)。
答案 1 :(得分:0)
在视图中,我假设您@Model
设置为工作,然后您可以创建隐藏字段,如
<%= Html.HiddenFor(m=>m.UserUniqueId) %>