Ajax.ActionLink只是第一次触发

Bro*_*ato 4 asp.net-mvc jquery

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

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

OnSuccess ajax事件的函数"ImageRemovedSuccess"被很好地触发,但是没有触发控制器中的动作.

有什么建议?

谢谢.

Era*_*nga 20

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

装饰动作方法不要在两者之间缓存响应.

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

    }
Run Code Online (Sandbox Code Playgroud)

确保在检查之前按下浏览器上的"Ctrl + F5".

  • +1为了指出我需要的解决方案,但这不适用于部分视图,所以我添加了一个额外的答案. (2认同)