我是一个具有离散模块概念的应用程序。这些模块将存在于Modules文件夹中。每个模块在此Modules文件夹下都有一个文件夹。然后,这些模块文件夹下面会有一个Controllers和Views文件夹,与Areas的工作方式非常相似。
我想扩展/更改搜索的搜索位置,以便当我的模块控制器返回视图时,将搜索新的位置。
我认为这需要涉及一个自定义ViewEngine,但我不确定具体细节。是否有我可以扩展的特定视图引擎,或者我是否需要从头开始编写新的视图引擎。
编写自定义视图引擎是正确的方法,还是有更好的路径?
答案 0 :(得分:1)
我认为这需要涉及自定义ViewEngine
答案 1 :(得分:0)
您可以实现视图引擎包装,而不是扩展特定的视图引擎,这样您定位视图的自定义逻辑就可以与多个视图引擎一起使用。通过临时替换controllerContext.RouteData.Values
中的控制器值,这就是MvcCodeRouting的工作原理,因此当使用位置格式(例如~/Views/{1}/{0}.aspx
)时,您可以向这些占位符注入您的自定义位置。