If you want to reuse this for several controller actions, based on the solution given by Dave, you can determine the result of the user view as follows:
public class CustomViewResult : ViewResult { protected override ViewEngineResult FindView(ControllerContext context) { string name = SomeMethodToGetViewName(); ViewEngineResult result = ViewEngines.Engines.FindView(context, name, null); if (result.View != null) { return result; } return base.FindView(context); } ... }
Then in your action just return an instance of your custom view:
public ActionResult Index() { return new CustomViewResult(); }
DSO Jun 03 '09 at 22:24 2009-06-03 22:24
source share