我已经做到了“标准”的方式:
public ActionResult Respondent()
{
return View(Session["Respondent"]); //passing the model
}
[HttpPost]
public ActionResult Respondent(Respondent resp)
{
repository.UpdateRespondent(Respondent resp);
Session["Respondent"] = respondent; //put back into session
return View(respondent); //redraw view, passing in respondent
}
它有效。我只为 MVC 传递响应模型以在 POST 操作中自动收集 FORM 值,在视图内部我为所有属性提供了这些:
@using (Html.BeginForm())
{
@Html.LabelFor(model => model.FirstName)
@Html.EditorFor(model => model.FirstName)
@Html.ValidationMessageFor(model => model.FirstName)
// and so on...
}
我的问题是 - 如果我已经在使用 Session 对象(位于 Session 中),有什么方法可以将 Session 对象用作视图内的模型,以便 HttpPost 工作,包括所有验证。那么,这些值将如何被收集并放回会话中呢?
谢谢你。