【发布时间】:2011-03-06 21:00:15
【问题描述】:
这是我上周发布的问题"Ajax.ActionLink not Posting" 的后续问题。我终于把它发到了 Post,它正确地调用了我的 Delete 操作并删除了记录。 Delete 方法返回一个 RedirectToAction("List") 以便重新列出减去已删除记录的新数据集。除了实际发生的是 - 什么都没有。列表没有变化。而且我很确定我知道为什么:调用 Ajax.ActionLink 会返回一个 Ajax 结果,该结果应该只替换文档中的指定元素(UpdateTargetId 选项参数)。由于我没有指定任何内容,因此它不会替换任何内容,即使它是一个全新的页面。
我的问题是,我应该将什么传递给 AjaxOption.UpdateTargetId 以使其擦除整个页面并重新加载新结果,就像 Html.ActionLink 已被调用一样(回想一下使用 Ajax.UpdateTargetId 的唯一原因。 ActionLink 是我想要使用 POST 而不是 GET 调用的方法)? (而且由于此页面使用母版页,因此我无法选择仅在 body 元素上放置一个 ID。)
【问题讨论】:
-
我不明白如果您要有效地重新加载整个页面,为什么还要使用 Ajax?你可以在没有 Ajax 的情况下进行 POST。
-
你能给我一个链接吗?我花了大约一天的时间试图弄清楚我是如何到达那个 Ajax.ActionLink “解决方案”的。
-
正如fearofawhackplanet 所说,Ajax 专门用于部分页面更新。如果您只想更新整个页面,则不需要/想要 ajax。
标签: ajax model-view-controller actionlink