小编Des*_*ant的帖子

将视图渲染为字符串:ArgumentOutOfRangeException

我有一个asp.net核心应用程序,并且有一个名为ViewRenderService的服务,该服务将视图转换为字符串,以便我根据发出的请求来呈现某些视图。

ViewRenderService:

public class ViewRenderService : IViewRenderService
    {
        private readonly IRazorViewEngine _razorViewEngine;
        private readonly ITempDataProvider _tempDataProvider;
        private readonly IServiceProvider _serviceProvider;

        public ViewRenderService(IRazorViewEngine razorViewEngine,
            ITempDataProvider tempDataProvider,
            IServiceProvider serviceProvider)
        {
            _razorViewEngine = razorViewEngine;
            _tempDataProvider = tempDataProvider;
            _serviceProvider = serviceProvider;
        }

        public async Task<string> RenderToStringAsync(string viewName, object model)
        {
            var httpContext = new DefaultHttpContext { RequestServices = _serviceProvider };
            var actionContext = new ActionContext(httpContext, new RouteData(), new ActionDescriptor());

            using (var sw = new StringWriter())
            {
                var viewResult = _razorViewEngine.GetView(viewName, viewName, false);

                if (viewResult.View …
Run Code Online (Sandbox Code Playgroud)

c# asp.net asp.net-mvc razorengine asp.net-core

3
推荐指数
1
解决办法
898
查看次数

标签 统计

asp.net ×1

asp.net-core ×1

asp.net-mvc ×1

c# ×1

razorengine ×1