У меня есть интересная проблема при перезагрузке частичных представлений с помощью ajax. У меня есть следующие настройки в главном Вид:Перезагрузка частичных представлений и Ajax - ASP.NET MVC
<div>
<div id="items">
@Html.Partial("SubView", Model.Items);
</div>
<div>
подвид, как правило, список элементов в таблице следующим образом:
<table class="table table-striped">
<tr>
<th>Date</th>
<th>Time</th>
<th></th>
</tr>
@foreach (var item in Model)
{
<tr>
@Html.HiddenFor(modelItem => item.Id)
<td>@Html.DisplayFor(modelItem => item.Date)</td>
<td>@Html.DisplayFor(modelItem => item.Time)</td>
<td>
@Html.ActionLink("Delete", "Delete", new { itemId= item.Id, page = Model.PageNumber }, new { @class = "deleteItem" })
</td>
</tr>
}
DeleteItem Действие в контроллере делает в основном следующие :
[HttpDelete]
public ActionResult DeleteItem(int itemId, int page)
{
this.dbService.DeletItem(expenseId);
return PartialView("SubView", this.GetPagedList(page));
}
В сценарии, который я называю в представлении мастера, у меня есть follo Код крыла:
$(document).ready(function() {
// delete expense
$(".deleteItem").click(function() {
$.ajax({
url: this.href,
type: 'delete',
success: function (result) {
$("#items").html(result);
}
});
return false;
});
Это прекрасно работает в первый раз, но второй раз он загружает только парциальное View -> так как код JavaScript не выполняется ...
Я относительно новым, что и я немного смущен тем, что здесь происходит. Все сторонние скрипты отображаются в Layout.cshtml
Пожалуйста, пост вы DeleteItem полного кода, а –
добавил, как я сказал, что это очень просто – Myar