Если вы хотите повторно использовать это в нескольких действиях контроллера, опираясь на решение, данное Дейвом, вы можете определить результат пользовательского просмотра следующим образом:
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);
}
...
}
Затем в вашем действии просто верните экземпляр вашего пользовательского представления:
public ActionResult Index()
{
return new CustomViewResult();
}