diff --git a/src/Microsoft.AspNet.Mvc.ViewFeatures/Rendering/ViewContext.cs b/src/Microsoft.AspNet.Mvc.ViewFeatures/Rendering/ViewContext.cs index 974aa62a2f..721fbe8601 100644 --- a/src/Microsoft.AspNet.Mvc.ViewFeatures/Rendering/ViewContext.cs +++ b/src/Microsoft.AspNet.Mvc.ViewFeatures/Rendering/ViewContext.cs @@ -68,17 +68,15 @@ public ViewContext( { throw new ArgumentNullException(nameof(htmlHelperOptions)); } - var service = actionContext.HttpContext.RequestServices; if (viewData == null) { - var modelMetadataProvider = service.GetRequiredService(); - viewData = new ViewDataDictionary(modelMetadataProvider); + throw new ArgumentNullException(nameof(viewData)); } if (tempData == null) { - tempData = service.GetRequiredService(); + throw new ArgumentNullException(nameof(tempData)); } View = view; diff --git a/src/Microsoft.AspNet.Mvc.ViewFeatures/ViewComponentResult.cs b/src/Microsoft.AspNet.Mvc.ViewFeatures/ViewComponentResult.cs index 1e75291920..6f3086c7bc 100644 --- a/src/Microsoft.AspNet.Mvc.ViewFeatures/ViewComponentResult.cs +++ b/src/Microsoft.AspNet.Mvc.ViewFeatures/ViewComponentResult.cs @@ -79,6 +79,12 @@ public override async Task ExecuteResultAsync(ActionContext context) viewData = new ViewDataDictionary(modelMetadataProvider, context.ModelState); } + var tempData = TempData; + if (tempData == null) + { + tempData = services.GetRequiredService(); + } + var contentType = ContentType; if (contentType != null && contentType.Encoding == null) { @@ -93,8 +99,8 @@ public override async Task ExecuteResultAsync(ActionContext context) // 3. ViewExecutor.DefaultContentType (sensible default) // // - response.ContentType = - contentType?.ToString() ?? + response.ContentType = + contentType?.ToString() ?? response.ContentType ?? ViewExecutor.DefaultContentType.ToString(); @@ -110,7 +116,7 @@ public override async Task ExecuteResultAsync(ActionContext context) context, NullView.Instance, viewData, - TempData, + tempData, writer, htmlHelperOptions);