无法将对象转换回System.web.webpages.HelperResult

时间:2017-03-01 10:48:09

标签: c# asp.net-mvc-4 html-helper

我使用以下代码呈现页面并将输出存储在缓存中。这样在下一个请求中页面来自缓存(以减少处理时间)

 HelperResult renderPageResult = null;
        try
        {
            if (objCache.Get(new CacheService().GetKey(cacheKey, _userContext)) == null)
            {
                renderPageResult = RenderPage(path, data);
                objCache.Add(new CacheService().GetKey(cacheKey, _userContext), renderPageResult);
            }
            else
            {
                renderPageResult = objCache.Get<HelperResult>(new CacheService().GetKey(cacheKey, _userContext));
            }

            return renderPageResult;
        }
        catch(Exception ex)

将对象转换回HelperResult时,我无法获取HTML字符串,并且在UI上获得以下异常

价值不在预期范围内。

描述:执行当前Web请求期间发生了未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。

异常详细信息:System.ArgumentException:值不在预期范围内。

1 个答案:

答案 0 :(得分:0)

使用以下代码解决

return new HelperResult
              (
                  writer =>
                  {
                      writer.Write(renderPageContent);
                  }
              );