【问题标题】:How can I distinguish between requests made from RenderAction and via AJAX?如何区分从 RenderAction 发出的请求和通过 AJAX 发出的请求?
【发布时间】:2011-10-02 18:24:32
【问题描述】:

在 ASP.NET MVC 中,有一个有用的方法Request.IsAjaxRequest 可以用来确定请求是否通过 AJAX 发出。但是,RenderAction 方法似乎也通过 AJAX 调用控制器/动作。

我希望通过RenderAction 的调用返回View,而通过AJAX 调用返回Json 对象。有什么方法可以区分来自这两个来源的电话吗?

编辑: 回覆。 jim:我只是在View 中调用RenderAction

SomeView.ascx:

Html.RenderAction("Action", "AnotherController", new { id = "some ID" });

【问题讨论】:

  • 威廉,我请求您对 RenderAction 的声明有所不同。相同的测试将 [Request.IsAjaxRequest()] 应用于 renderaction。默认情况下,它当然不会通过 ajax 调用。你应该检查你的代码,以确保你没有一些 jquery 调用 renderaction 'under the cover'。

标签: asp.net-mvc ajax xmlhttprequest request


【解决方案1】:

我相信您可以使用ControllerContext.IsChildAction 来确定@​​987654322@ 是否调用了某个方法。

【讨论】:

  • 像魅力一样工作 :) 谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-09-11
  • 2017-08-12
  • 2012-01-21
  • 2011-06-20
  • 1970-01-01
  • 2019-02-25
  • 2021-02-24
相关资源
最近更新 更多