public void InitializeController(string areaName, string controllerName, string actionName)
{
controller.InitializeControllerState(areaName, controllerName, actionName);
InitializeControllerFieldsFromServiceProvider();
controller.LayoutName = ObtainDefaultLayoutName();
CreateAndInitializeHelpers();
CreateFiltersDescriptors();
ProcessScaffoldIfPresent();
ActionProviderUtil.RegisterActions(controller);
// Record the action
controller.SetEvaluatedAction(actionName);
// Record the default view for this area/controller/action
controller.RenderView(actionName);
// If we have an HttpContext available, store the original view name
if (controller.HttpContext != null)
{
if (!controller.HttpContext.Items.Contains(Constants.OriginalViewKey))
{
controller.HttpContext.Items[Constants.OriginalViewKey] = controller._selectedViewName;
}
}
context.CurrentController = controller;
}