Rendering a view to a string in ASP.NET MVC 2
.net, asp.net-mvc, c#, viewrendering
Solution
I figured it out. The issue with ExecuteResult wasn't working as expected was because I hadn't mocked the ControllerContext properly. I was able to solve the issue by mocking the controllercontext as described in this SO post:
Mocking Asp.net-mvc Controller Context
Hope this post helps someone in the future if they're trying to do something similar.
Problem
We need to render an `ActionResult` to a `string` to add pages to our internal search engine index. We settled on this solution to render to string. I've run into a problem with the `ExecuteResult` call used to process the View. Code Snippet: ``` var oldController = controllerContext.RouteData.Values["controller"]; controllerContext.RouteData.Values["controller"] = typeof(TController).Name.Replace("Controller", ""); viewResult.ExecuteResult(controllerContext); // this line breaks ``` I receive the following error: `"Object reference not set to instance of object" error.` I've confirmed `viewResult` is not null, so the exception has to be thrown internally in `ExecuteResult`. What could we be missing?