Ajax.ActionLink не работает

Я пытаюсь использовать Ajax.ActionLink в проекте MVC4. Я включил эти два в свой макет страницы.

@Scripts.Render("~/Scripts/jquery-1.7.1.js")
@Scripts.Render("~/Scripts/jquery.unobtrusive-ajax.min.js")

В моем представлении "О программе" у меня есть следующий код

<h3>Server Time</h3>

<div id="timeDisplay">
    Time shown here
</div>
<div>
    @Ajax.ActionLink("Click here for time", "ServerTime", new AjaxOptions{HttpMethod="GET", UpdateTargetId="timeDisplay"})

</div>

Метод действия времени сервера просто возвращает последнее время в виде длинной строки. Сначала все работает нормально, но когда я щелкаю ссылку во второй раз, ничего не происходит, метод сервера не вызывается. Я проверил с помощью FIDDLER, и сообщение Http не отправляется. Это потому, что он использует кешированный ответ. Как мне заставить его снова вызвать метод


person Shah F Alam    schedule 30.09.2014    source источник


Ответы (1)


Попробуйте украсить свой ActionResult OutputCache(NoStore = true ..

[OutputCache(NoStore = true, Duration = 0, VaryByParam = "*")]
public ActionResult ServerTime()
{
    ...
}

Или попробуйте использовать HttpMethod = "POST" в AjaxOptions

 @Ajax.ActionLink("Click here for time", "ServerTime", new AjaxOptions{HttpMethod="POST", UpdateTargetId="timeDisplay"})
person Dennis R    schedule 30.09.2014