我是 asp .net mvc3 的新手。我正在尝试创建一个失败的简单博客评论部分。
我有一个 CommentsViewModel
public class CommentsViewModel
{
public CommentModel NewComment { get; set; }
public IList<CommentModel> CommentsList { get; set; }
}
对应的视图就像
<div id="CommentsArea">
@Html.Partial("CommentsList", Model.CommentsList)
</div>
@using (Ajax.BeginForm("Create",
"Comment",
new { id = Model.NewComment.detailsId, comment = Model.NewComment },
new AjaxOptions { UpdateTargetId = "CommentsArea" ,
HttpMethod = "Post",
InsertionMode = InsertionMode.Replace}))
{
<div class="display-label">Add Comment</div>
<div class="display-field">
@Html.EditorFor(model => Model.NewComment.Body)
</div>
<input type="submit" value="Post" />
}
现在,当用户输入“发布”按钮时,我希望用新的评论列表更新“CommentsArea”,并用空文本清除表单值。
这是 Post 方法:
[HttpPost]
public ActionResult Create(int id, CommentModel newcomment)
{
var newsItem = m_db.NewsList.Single(news => news.Id == id);
if (!string.IsNullOrWhiteSpace(newcomment.Body))
{
newcomment.detailsId = id;
newsItem.Comments.Add(newcomment);
m_db.SaveChanges();
}
return PartialView("CommentsList", newsItem.Comments);
}
现在,当用户单击“发布”按钮时,列表会正确更新,但不会清除表单值。即,如果我发布了评论“新评论”,评论列表将更新为“新评论”,但该文本仍保留在表单的编辑框中。
如何清除该文本?