asp.net-mvc - Ajax.ActionLink 仅在第一次触发

标签 asp.net-mvc jquery

我的 View 中有一个 ActionLink。单击时, Controller 中的一个操作被触发(我放置了一个断点来检查)。它仅在第一次单击链接时起作用。其他时候,我的 Action Controller 中的断点永远不会达到。

@Ajax.ActionLink("Remove image", "RemoveImage", new { projectID = Model.ProjectID }, new AjaxOptions { OnSuccess="ImageRemovedSuccess" })   

OnSuccess ajax 事件的函数“ImageRemovedSuccess”已正常触发,但 Controller 中的操作未触发。

有什么建议吗?

谢谢。

最佳答案

您的浏览器缓存响应。因此,当您第二次发送请求时,浏览器不会将其转发到服务器,因为之前曾向服务器发送过相同的请求,并且浏览器会将缓存的响应返回到页面。

装饰操作方法,不要在其间缓存响应。

    [OutputCache(NoStore = true, Duration = 0, VaryByParam = "*")]
    public ActionResult RemoveImage(int projectID)
    {

    }

检查之前,请确保在浏览器上按“Ctrl + F5”。

关于asp.net-mvc - Ajax.ActionLink 仅在第一次触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8193524/

相关文章:

c# - MVC 3 Multi-Tenancy 和 View 编译缓存问题

asp.net-mvc - 如何在 IIS7 上安装 asp.net mvc 2?

c# - Controller 中的 MVC 身份验证

javascript - 我需要一个选择内部链接的快捷方式才能使用此功能

当我单击图像时,jQuery 单击事件不会被触发

c# - 是否可以在没有标准类和 namespace 的情况下创建自己的身份验证?

javascript - 使用 filedownload jquery 插件处理 FilePathResult 返回值

Jquery - 动画高度切换

javascript - 使用 jquery,如何获取 li 元素的 "inner text"?

javascript - 根据Angular JS中的ID将一页数据发送到另一个寻呼机