如何使ASP.NET MVC 2在多个提交中保持提交的表单值?

时间:2010-06-28 09:58:12

标签: asp.net-mvc-2 asp.net-mvc-2-validation

假设我有ViewPage<Song>的强类型视图以及创建/编辑方案形式的一些其他字段,这些字段不是Song实体的直接部分(因为我在获取之前必须进行一些解析来自外表的作曲家并创建桥实体SongComposers)。

public ActionResult Create(Song song, string composers) {
  if (ModelState.IsValid) {
    // redirect to details
  }

  // return a view with errors
  return View(song);
}

在视图中

<% using (Html.BeginForm()) { %>
  <%= Html.EditorForModel() %>
  <div class="editor-label"><label for="composers">Composers</label></div>
  <div class="editor-field"><input id="composers" type="text" name="composers" /></div>
<% } %>

现在,当我尝试创建食物并获得验证错误时,先前为Html.EditorForModel中的字段输入的表单值已正确填充,但提交后作曲家字段为空。我该如何解决这个问题(即,让它“记住”用户在作曲家字段中写的内容)?

1 个答案:

答案 0 :(得分:0)

ViewData["composers"] = composers;