Я использую Asp.net MVC3 и пытаюсь сделать простую запись Ajax на сервер, который возвращает частичное представление и обновляет мой список элементов во время поиска.
@using (Ajax.BeginForm("PartialUpdate", "Listing"
, new AjaxOptions {
UpdateTargetId = "ListPartialDiv",
HttpMethod = "GET",
InsertionMode = InsertionMode.Replace,
}))
{
<!-- Search Boxes and buttons here -->
}
<div id = "ListPartialDiv">
@{
Html.RenderPartial("_ListPartial", Model);
}
</div>
Ajax успешно делаетВызов на сервер, и сервер отвечает, отправив частичное представление.Но частичное представление всегда отображается на новой странице.Я узнал, что это потому, что он не знает, что это ajax-вызов, и поэтому он отображает новую страницу.Я включил правильные сценарии jquery-ubobtrusive-ajax.min.js и добавил ключ следующим образом согласно Этот вопрос
<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery-1.7.1.min.js")" type="text/javascript">
Мой код контроллераочень просто:
if (Request.IsAjaxRequest())
return PartialView("_ListPartial", list);
return View("Index", list);
Но Request.IsAjaxRequest () всегда возвращает false независимо от того, что.Я также использовал fiddler и firebug в соответствии с This Question и не вижу заголовка X-Requested-With, но я не могу понять, что это значит или как его изменить.Единственное, о чем я могу подумать, это то, что каждый другой пример, который я вижу, использует более старую версию jquery.Это как-то связано с этим?Спасибо за любую помощь.