// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved.
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using Microsoft.AspNet.Mvc.Rendering;
namespace Microsoft.AspNet.Mvc.Razor
{
///
/// Represents the default implementation that creates
/// instances with a given .
///
public class RazorViewFactory : IRazorViewFactory
{
private readonly IRazorPageActivator _pageActivator;
private readonly IViewStartProvider _viewStartProvider;
///
/// Initializes a new instance of RazorViewFactory
///
/// The used to activate pages.
/// The used for discovery of _ViewStart
/// pages
public RazorViewFactory(IRazorPageActivator pageActivator,
IViewStartProvider viewStartProvider)
{
_pageActivator = pageActivator;
_viewStartProvider = viewStartProvider;
}
///
public IView GetView([NotNull] IRazorViewEngine viewEngine,
[NotNull] IRazorPage page,
bool isPartial)
{
var razorView = new RazorView(viewEngine, _pageActivator, _viewStartProvider, page, isPartial);
return razorView;
}
}
}