Clean up ViewStartPages usage in RazorView

Fixes #3682
This commit is contained in:
Sebastien Ros 2015-12-07 10:08:43 -08:00
parent cf6662d0c3
commit 774ee05508
1 changed files with 7 additions and 7 deletions

View File

@ -98,14 +98,14 @@ namespace Microsoft.AspNet.Mvc.Razor
}
_bufferScope = context.HttpContext.RequestServices.GetRequiredService<IRazorBufferScope>();
var bodyWriter = await RenderPageAsync(RazorPage, context, ViewStartPages);
var bodyWriter = await RenderPageAsync(RazorPage, context, invokeViewStarts: true);
await RenderLayoutAsync(context, bodyWriter);
}
private async Task<RazorTextWriter> RenderPageAsync(
IRazorPage page,
ViewContext context,
IReadOnlyList<IRazorPage> viewStartPages)
bool invokeViewStarts)
{
Debug.Assert(_bufferScope != null);
var buffer = new RazorBuffer(_bufferScope, page.Path);
@ -120,10 +120,10 @@ namespace Microsoft.AspNet.Mvc.Razor
try
{
if (viewStartPages != null)
if (invokeViewStarts)
{
// Execute view starts using the same context + writer as the page to render.
await RenderViewStartsAsync(context, viewStartPages);
await RenderViewStartsAsync(context);
}
await RenderPageCoreAsync(page, context);
@ -144,13 +144,13 @@ namespace Microsoft.AspNet.Mvc.Razor
return page.ExecuteAsync();
}
private async Task RenderViewStartsAsync(ViewContext context, IReadOnlyList<IRazorPage> viewStartPages)
private async Task RenderViewStartsAsync(ViewContext context)
{
string layout = null;
var oldFilePath = context.ExecutingFilePath;
try
{
for (var i = 0; i < viewStartPages.Count; i++)
for (var i = 0; i < ViewStartPages.Count; i++)
{
var viewStart = ViewStartPages[i];
context.ExecutingFilePath = viewStart.Path;
@ -211,7 +211,7 @@ namespace Microsoft.AspNet.Mvc.Razor
previousPage.IsLayoutBeingRendered = true;
layoutPage.PreviousSectionWriters = previousPage.SectionWriters;
layoutPage.BodyContent = bodyWriter.Buffer;
bodyWriter = await RenderPageAsync(layoutPage, context, viewStartPages: null);
bodyWriter = await RenderPageAsync(layoutPage, context, invokeViewStarts: false);
renderedLayouts.Add(layoutPage);
previousPage = layoutPage;