William Niu
William Niu

Reputation: 15853

How can I distinguish between requests made from RenderAction and via AJAX?

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" });

Upvotes: 5

Views: 438

Answers (1)

mrydengren
mrydengren

Reputation: 4260

I believe you could use ControllerContext.IsChildAction to determine if a method was called by RenderAction().

Upvotes: 5

Related Questions