I would like to take an existing action method, render its return value to a string and ship it as a JSON for a response to an AJAX request.
To do this, I need to render an ActionResult to a string. How do i do this?
We have the opposite where we can convert a string to an ActionResult by using this.Content().
Update
The existing and 1st action method returns a type ActionResult but it really returns a ViewResult to respond to HTTP post request. I have a 2nd action method (my facade) that returns a JsonResult that responds to AJAX requests. I want this 2nd action method to use the 1st action method to render the HTML.
In the grand scheme of things, I want an ActionResult (generated from an action method) retrievable not only by a standard HTTP post, but also by an AJAX request via a facade action method (the 2nd action method). This way, I, as a developer, have the choice of using an HTTP Post or AJAX to retrieve the rendering of a page.
Sorry i tried to make this update as short as possible. Thanks.
Are you looking for number 4 or 6 bellow?
Text extracted from here:
Understanding Action Results
A controller action returns something called an action result. An action result is what a controller action returns in response to a browser request.
The ASP.NET MVC framework supports several types of action results including:
All of these action results inherit from the base ActionResult class.