Fra*_*rio 5 .net c# asp.net-mvc viewrendering
我们需要渲染一个ActionResulta string来向我们的内部搜索引擎索引添加页面.我们决定将此解决方案渲染为字符串.
我遇到了ExecuteResult用于处理View 的调用的问题.
var oldController = controllerContext.RouteData.Values["controller"];
controllerContext.RouteData.Values["controller"] =
typeof(TController).Name.Replace("Controller", "");
viewResult.ExecuteResult(controllerContext); // this line breaks
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
"Object reference not set to instance of object" error.
我已经确认viewResult不是null,所以必须在内部抛出异常ExecuteResult.
我们还能错过什么?
我想到了。ExecuteResult 的问题没有按预期工作是因为我没有正确模拟 ControllerContext。我能够通过模拟控制器上下文来解决这个问题,如这篇SO文章中所述:
希望这篇文章对将来尝试做类似事情的人有所帮助。
| 归档时间: |
|
| 查看次数: |
1271 次 |
| 最近记录: |