我需要在模板中访问视图中的Html帮助器,因此我可以在视图中执行此操作:
ViewData["RootHtmlHelper"]=Html;
在模板内部可以捕获这个html帮助器。
但是如何在没有更改原始视图代码中没有行"ViewData["RootHtmlHelper"]=Html;"
的任何内容的情况下执行此操作?
有没有办法使用IViewEngine
来做到这一点?
在View生命周期中,Html助手开始“活着”?
感谢。
答案 0 :(得分:1)
我尝试了很多东西,比如局部视图,RazorEngine,......以及EditorForModel()
的包装。
在我自己的EditorForModel()
中,我打了一个原始EditorForModel()
的电话,在调用它之前,我在ViewData
中设置了对Html helper
的引用。在我的模板中,我可以从Html helper
恢复ViewData
,并且一切运行良好,而不是在我的所有视图中都使用存根。