MVC3 Ajax.ActionLink缓存

时间:2012-01-17 19:17:16

标签: ajax asp.net-mvc-3

我设计了一个常规模型对话框,模态对话框包含:

- 查找链接

- 部分视图(显示返回的结果)。

为了说明我的问题,你会在RouteValues中发现我以秒为单位发布当前时间。每次我点击,我都会得到相同的结果。

 @Ajax.ActionLink("Find", "PopulateResults", "Contract", new { kind = DateTime.Now.Second },
                                      new AjaxOptions
                                      {
                                          UpdateTargetId = "results",
                                          HttpMethod = "POST",
                                          InsertionMode = InsertionMode.Replace,
                                          LoadingElementId = "progress"

                                      }, new
                                      {
                                          @class = "button",
                                          id = "FindButton"
                                      }
                                    )

控制器获取值并将其传递给局部视图

 [HttpPost]
    [OutputCache(NoStore = true, VaryByParam = "", Duration = 0)]
    public ActionResult PopulateResults(int kind)
    {


        return PartialView("PopulateResults", kind);

    }

正如我所说,该值始终被缓存,并且不会更新。

更新:最初,我真的不想发布当前时间并在部分视图中显示它。 在我的模态对话框中,我有一个文本框,用于过滤返回的结果。实际上,会发生什么,文本框的值总是被缓存。

1 个答案:

答案 0 :(得分:0)

  

我以秒为单位发布当前时间

您没有发布当前时间。您正在发布服务器呈现此页面时的时间(实际上不是时间,但只是第二个)。如果要发布当前时间,请使用客户端时间。