Нов съм в 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);
}
Сега, когато потребителят щракне върху бутона Публикувай, списъкът се актуализира правилно, но стойностите на формуляра не се изчистват. т.е. ако съм публикувал коментар „Нови коментари“, списъкът с коментари се актуализира с „Нови коментари“, но този текст остава в полето за редактиране на формуляра.
Как да изчистя този текст?