如何区分从 RenderAction 发出的请求和通过 AJAX 发出的请求?
在 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" });
In ASP.NET MVC, there is a useful method Request.IsAjaxRequest
that I can use to determine whether the request is made via AJAX. However, RenderAction
method seems to be calling the controller/action via AJAX as well.
I would like the calls via RenderAction
to return a View
, whereas calls via AJAX to return a Json
object. Is there any way I can distinguish calls from those two sources?
EDIT:
Re. jim: I simply call a RenderAction
within a View
:
In SomeView.ascx
:
Html.RenderAction("Action", "AnotherController", new { id = "some ID" });
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我相信您可以使用 ControllerContext.IsChildAction 来确定 RenderAction() 是否调用了某个方法。
I believe you could use
ControllerContext.IsChildAction
to determine if a method was called byRenderAction()
.