2015-02-19 3 views
1

У меня есть следующий код:Ajax ActionLink не работает для меня

<ul class="nav nav-tabs">      
    <li>@Ajax.ActionLink("Home", "Index", "Home", new AjaxOptions { UpdateTargetId = "updaterDiv", OnSuccess = "function() {alert('onsuccess fired'); }"}) </li> 
... 
<div id="updaterDiv" style=" height: 200px; width: 200px;"> 

</div> 

и действие Index в HomeController

public ActionResult Index() 
    { 
     if (Request.IsAjaxRequest()) 
     { 
      return PartialView("_RefreshedHandler"); 
     } 

     return View(); 
    } 

OnSuccess событие в AjaxOptions не увольняют, когда Я нажимаю на ссылку. Что я делаю не так? То, что я пытаюсь достичь, заключается в том, чтобы избежать повторной передачи и обновления на всей странице при нажатии ссылки, но только обновление определено в разделе

+0

Есть ли ошибки в консоли отладки? – Jasen

+0

Нет, никаких ошибок. Ссылка действия не ведет себя так, как я надеюсь, она по-прежнему делает обратную передачу и полное обновление страницы. Но я думаю, это потому, что он не действует как Ajax actionLink, так как он не касается AjaxOptions – user1960836

+2

Полное обновление обычно указывает, что скрипты 'jquery.unobstrusive-ajax.js' загружены неправильно. – Jasen

ответ

1

Ответ и решение моей проблемы было найдено здесь: MVC5, AjaxHelper, and the Correct Scripts & Load Order, благодаря Jasen для указания на эту ссылку.

Я установил с NuGet упакованного менеджером: > Install-Package Microsoft.jQuery.Unobtrusive.Ajax -Version 3.1.2, а затем добавил:

<script src="~/Scripts/jquery.unobtrusive-ajax.js"></script> 
<script src="~/Scripts/jquery.unobtrusive-ajax.min.js"></script> 

к моему проекту, то это сработало. jquery.unobstrusive-ajax.js и jquery.unobstrusive-ajax.min.js были автоматически добавлены в проект (в папке Scripts) после запуска диспетчера пакетов

0

Необходимо добавить MicrosoftAjax.js и MicrosoftMvcAjax.js к вашему представлению. Оба могут быть найдены в NuGet Package Manager

Ajax.ActionLinks больше не зависят от jquery.unobstrusive-ajax.js

Смежные вопросы