ASP. NET Как зарегистрировать Custom View Engine с помощью OWIN - PullRequest
0 голосов
/ 05 марта 2020

Я пытаюсь реализовать Custom View Engine, который позволит мне указать дополнительные пути просмотра, которые выглядят следующим образом:

public class CustomViewEngine : RazorViewEngine
{
    public CustomViewEngine()
    {
        ViewLocationFormats = new[]
        {
            "~/Views/{1}/{0}.cshtml", "~/Views/{1}/{0}.vbhtml",
            "~/Views/Shared/{0}.cshtml", "~/Views/Shared/{0}.vbhtml"
        };
        MasterLocationFormats = new[]
            {
            "~/Views/{1}/{0}.cshtml", "~/Views/{1}/{0}.vbhtml",
            "~/Views/Shared/{0}.cshtml", "~/Views/Shared/{0}.vbhtml"
        };
        PartialViewLocationFormats = new[]
            {
            "~/Views/{1}/{0}.cshtml", "~/Views/{1}/{0}.vbhtml",
            "~/Views/Shared/{0}.cshtml", "~/Views/Shared/{0}.vbhtml",
            "~/Views/Partials/Widgets/{0}.cshtml", "~/Views/Partials/Widgets/{0}.vbhtml"
        };

    }
}

Существует много исходного кода, как его использовать в Global.asax.cs. например, здесь: Могу ли я указать пользовательское местоположение для «поиска представлений» в ASP. NET MVC? , но нет источника, который бы показывал, как зарегистрировать этот движок при использовании OWIN. Как это сделать?

1 Ответ

0 голосов
/ 05 марта 2020

Попробуйте это:

Startup.cs

using System.Web.Mvc;
using Microsoft.Owin;
using Owin;

[assembly: OwinStartup(typeof(WebApplication2.Startup))]

namespace WebApplication2
{
   public class Startup
   {
      public void Configuration(IAppBuilder app)
      {
         ViewEngines.Engines.Clear();
         ViewEngines.Engines.Add(new CustomViewEngine());
      }
   }
}
...