微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

控制器调用错误的 RazorViewEngine

如何解决控制器调用错误的 RazorViewEngine

控制器将转到错误的 ViewEngine。这是 ViewEngines 列表

ViewEngines

控制器来自 Lendlease.RET.Web.MVC 项目,但它呈现 Lendlease.Com.Web.MVC ViewEngine。

如何强制控制器使用 Lendlease.RET.Web.MVC RazorViewEngine?

我在 ReplaceEngine 文件夹中有 App_Start 代码

public static void ReplaceEngine<T>(this ViewEngineCollection engines,IViewEngine replacement)
            where T : IViewEngine
        {
            var engine = engines.SingleOrDefault(x => x.GetType() == typeof(T));
            if (engine != null)
            {
                engines.Remove(engine);
            }
            engines.Add(replacement);
        }

它正确替换了 ViewEngine。当我调试代码时,它添加Lendlease.RET.Web.MVC ViewEngine,但控制器将转到 Lendlease.Com.Web.MVC ViewEngine。

如何强制控制器使用 RET RazorViewEngine?

任何帮助或建议将不胜感激

解决方法

尝试在 Global.asax 文件中的 Application_Start() 事件中注册您的自定义视图引擎。

 var myVeieWngine = new CustomViewEngine();
            ViewEngines.Engines.Clear();
            ViewEngines.Engines.Add(myVeieWngine);

这里是CustomViewEngine的骨架表示

public class CustomViewEngine : RazorViewEngine
{ }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。