MVC Razor Engine Renderpartial View From Custom Location,还需要支持后备搜索位置

时间:2017-03-23 06:15:49

标签: asp.net-mvc razor asp.net-mvc-5

我需要从自定义位置渲染部分视图,但如果找不到自定义位置,还需要支持后备搜索位置。我如何在MVC5中实现这一点。

@HTML.Partial("~/Parent/Child1/1.cshtml")

如果在此处找到则可以。但如果没有那么它应该在默认位置搜索。

@HTML.Partial("~/Parent/Default/1.cshtml")

我做了一些这样的事情,但不起作用。

  var razorEngine = ViewEngines.Engines.OfType<RazorViewEngine>().First();
        razorEngine.ViewLocationFormats = razorEngine.ViewLocationFormats.Concat(new string[]
        {
            "~/Parent/Default/{0}.cshtml"
        }).ToArray();
        razorEngine.PartialViewLocationFormats = razorEngine.PartialViewLocationFormats.Concat(new string[]
        {
            "~/Parent/Default/{0}.cshtml"
        }).ToArray();

1 个答案:

答案 0 :(得分:0)

我通过覆盖RazorViewEngine的FindPartialView方法解决了这个问题。 这是我的解决方案,对我有用。

module.exports = async (taskData) => {
  // do stuff
}