Существует уже много похожих ответов, но я не нашел решения для меня. Вот почему здесь моя ситуация.C# MVC, частично отображается как новая страница не внутри div
Когда я возвращаю частичное, он возвращается как новая страница, а не внутри div.
Тет, как выглядит мое действие контроллера.
public ActionResult AddNewDutyTime(string id)
{
try
{
return PartialView("_DutyTimeView", TimesheetHoursPageHelper.AddNewDutyTime(id));
}
catch (Exception)
{
return new HttpStatusCodeResult(HttpStatusCode.InternalServerError);
}
}
Ниже приводится ссылка действие
@Ajax.ActionLink(
"Add Duty",
"AddNewDutyTime",
"Timesheets",
new {Model[i].Id},
new AjaxOptions
{
HttpMethod = "POST",
InsertionMode = InsertionMode.Replace,
UpdateTargetId = dutyTimeId,
OnSuccess = "$('#btnAddDuty" + Model[i].Id + "').prop('disabled', false)"
},
new
{
id = "btnAddDuty" + Model[i].Id,
area = "Client",
@class = "btn btn-primary",
onclick = "$('#btnAddDuty" + Model[i].Id + "').prop('disabled', true)"
})
здесь ДИВ обновить
<div id="@dutyTimeId" class="col-lg-12 top10">
@{ Html.RenderPartial("_DutyTimeView", Model[i].DutyTimes); }
</div>
ошибок в консоли, и ЮНОБ trosive.js присутствует. chrome dev tools
Перед нажатием на ссылку действий link
и после клика link
Спасибо.
Вы уверены, что '_DutyTimeView' является частичной страницей и не содержит страницы макета? – Lali
@Lali, я уверен, это частичный, и не макет, только модель. – ovasylenko
Если его перенаправление, 'jquery.unobtrusive-ajax.js' загружен неправильно или у вас есть другой код, мешающий. Предложите загрузить неминифицированную версию и поставить на нее точку останова, чтобы проверить ее попадание. В любом случае, проще всего использовать методы '. $ .Ajax()' в любом случае (и методы '@ Ajax.ActionLink()' и '@ Ajax.BeginForm()' больше не поддерживаются в core-mvc) –