Ich bin neu in ASP. NET mvc3. Ich versuche, einen einfachen Blog-Kommentarabschnitt zu erstellen.mvc3 Wie lösche ich die übermittelten Formularwerte
Ich habe eine CommentsViewModel
public class CommentsViewModel
{
public CommentModel NewComment { get; set; }
public IList<CommentModel> CommentsList { get; set; }
}
Die entsprechende Ansicht ist wie
<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" />
}
Nun, wenn der Benutzer Taste Beitrag betritt ich den „CommentsArea“ will mit der neuen Kommentarliste aktualisiert werden und auch die Formularwerte, die mit leerem Text gelöscht werden sollen.
Hier ist die Post-Methode:
[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);
}
Jetzt, wenn der Benutzer Beitrag Schaltfläche klickt die Liste ordnungsgemäß aktualisiert wird, aber die Form Werte werden nicht gelöscht. Wenn ich beispielsweise einen Kommentar "Neue Kommentare" gepostet habe, wird die Kommentarliste mit "Neue Kommentare" aktualisiert, aber dieser Text verbleibt im Bearbeitungsfeld des Formulars.
Wie lösche ich diesen Text?
Link erklärt auch: http://www.gbogea.com/2008/11/26/ajax-beginform-clear-form-after -einreichen – user1314939