我有一个MVC博客应用程序,它调用Ajax来更新标志。
在IE中(仅在IE中,在其他浏览器中运行正常),我只能调用一次ActionLink;如果我在第一次之后点击,则不会调用控制器中的ajax动作。
以下是View的部分代码:
<div id="news_comment_state_@(Model.Id)">@(Model.FlControlled==false?"Da approvare":@Model.FlApproved?"Approvato":"Respinto")</div>
@Ajax.ActionLink("Approva", "ApproveDenyComment", new { IdComment = Model.Id, ApproveDeny = true }, new AjaxOptions { UpdateTargetId = "news_comment_state_"+@Model.Id})
<br />
@Ajax.ActionLink("Respingi", "ApproveDenyComment", new { IdComment = Model.Id, ApproveDeny = false }, new AjaxOptions { UpdateTargetId = "news_comment_state_"+@Model.Id})
如果我在控制器中放置一个断点,每个链接只触发一次,那么它再也不会被调用...这是错误?也许缓存问题??
答案 0 :(得分:2)
避免缓存问题的另一种方法是将以下内容添加到控制器中方法上方的行中:
[OutputCache(NoStore = true, Duration = 0, VaryByParam = "*")]
public ActionResult MyMethod() {
...
}
这将确保它运行服务器端代码。
答案 1 :(得分:1)
听起来像缓存。在结尾添加一个随机整数,以确保获得新的请求。