Есть ли способ обновить раздел частичного представления, или я должен разбить этот раздел на его отдельный частичный просмотр?Проблема, с которой я сталкиваюсь, заключается в том, что всякий раз, когда я отправляю свою форму, обновляется весь частичный вид, дублируя входные данные моей формы, но я действительно хочу только обновить «noteList».Вот еще некоторые подробности, которые могут быть полезны.
В моем проекте у меня есть страница, разделенная на отдельные вкладки, каждая из которых представляет собой свое частичное представление, которое загружается, когда кто-то нажимает на эту вкладку.В данный момент я сосредотачиваюсь на вкладке заметок.
Ниже находится разметка и контроллер, который ловит сообщение.
<div id="noteList">
@Html.Grid(Model).Columns(column => {
column.For(x => x.TimeStamp);
column.For(x => x.UserName);
column.For(x => x.Note);
}).Attributes(Style => "text-aligh: center", @Class => "linkGrid")
</div>
<div id="addNoteForm">
<h2>Add New Note</h2>
@using (Ajax.BeginForm("AddNote", "Dispute", null, new AjaxOptions { UpdateTargetId = "noteList" }, new { id = "AddNote" })) {
@Html.Hidden("DisputeID", ViewData["DisputeID"])
<div class="editor-multiline-field">
@Html.Editor("Note", "editor-multiline-field")
</div>
<input type="submit" value="Add Note" />
}
</div>
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult AddNote(FormCollection collection) {
if (this.ModelState.IsValid) {
DisputeNote newNote = new DisputeNote(repository.Get(int.Parse(collection["DisputeID"])), User.Identity.Name, collection["Note"]);
repository.SaveForUpdate<DisputeNote>(newNote);
}
var Notes = repository.GetNotesForDispute(int.Parse(collection["DisputeID"]));
ViewData["DisputeID"] = int.Parse(collection["DisputeID"]);
return PartialView("NoteList", Notes);
}
Я знаю, что разбить его на другое частичное представление сработает, но мне любопытно, есть ли другой способ сделать это.