2012-04-05 65 views
1

在一个项目中,我们对同一个动作使用PartialView和View,具体取决于它的调用方式(感谢Request.IsAjaxRequest())。但有些地方我们需要在页面上显示一个操作(而不是ajax)。如何识别通过Html.RenderAction()发送的请求

所以我们使用了HTML帮助:

Html.RenderAction(Action, Controller, routeValues) 

但这种呼吁也应该返回PartialView,而不是一个视图。由于这看起来不是Ajax调用,所以我们不能使用Request.IsAjaxRequest()方法来确定请求的发送方式。

我想知道是否有什么我们可以使用,可以确定请求是否由Html.RenderAction调用?

+0

这不是我要问的。我知道我可以提出Ajax请求,但我不想。我所有的ajax请求都是通过jQuery在正常请求之上完成的...... Html.RenderAction不是通过Ajax完成的。 – Whoami 2012-04-05 12:46:21

+0

或者您可以回答自己的问题并将其标记为已接受... – Rafay 2012-04-05 15:00:17

+0

我必须等待一些时间才能回答我自己的问题... – Whoami 2012-04-05 16:09:26

回答

0

我通过搜索整个请求/控制器上下文找到了解决方案,最终在ControllerContext上找到了属性IsChildAction。这表明该操作是通过Html.RenderAction还是通过URL调用的。