问题
Given an example based on old MVC5: Views/Shared/Index.cshtml - a view for a SPA app. It contains some markup and a reference to a layout-page:
@{
Layout = "~/Views/Shared/_Layout.cshtml";
}
In _Layout.cshtml there're number of includes which are being used via RenderPage
helper:
@RenderPage("~/Views/Shared/_ImportCssInline.cshtml")
@RenderPage("~/Views/Shared/_ImportCssLinks.cshtml")
Now in AspNet5 @RenderPage
helper isn't available.
It was the method of WebViewPage
/WebPageBase
/WebPageRenderingBase
. Now they were replaced by RazorPage
. But there's no RenderPage
method in it.
What should be used instead?
p.s. issue
回答1:
I've always had success using @Html.Partial("~/Views/Shared/_ImportCssInline.cshtml")
rather than @RenderPage
- I hope there's not usage differences for you. There are also async versions of these imports now, too.
Since the Html
property is now injectable as the interface IHtmlHelper
, I assume the direct methods were removed in the improvements for the testability of the views.
来源:https://stackoverflow.com/questions/29770041/what-to-use-instead-of-webviewpage-renderpage-method-in-asp-net-5-mvc6