对于实施以下方案的技术/策略的任何帮助,我将不胜感激:
我们需要拥有ASP.NET MVC 5站点的这种文件夹结构
名称是文件夹,文件名由Extentions指定。
现在如果我们想要请求产品页面,那么ProductView.cshtml将从Controller加载并在该视图内部,我们想要根据数据库条目从“DisplayControls”文件夹加载一些显示控件。 如果条目说我们需要加载“SimpleProductPage”然后我们将加载来自“SimpleProductPage”文件夹的视图,即SimpleProductPage.cshtml 并且此视图将具有它的控件,即从其控件文件夹加载的部分视图。如果选择的显示控件是“ProductPageWithImageGallery”,则该文件夹中的视图将与其子视图/部分视图一起加载。
类别页面也是如此,基于数据库条目,将从该文件夹中加载各自的控件/ Biew。
所以基本上ProductView.cshtml和CategoryView.cshtml将充当占位符,并且Selected Views / ChildViews将被加载到它们运行时。正如您所看到的,我们的目标视图不会位于视图文件夹中,因此对我来说这有点问题。
我是MVC的新手,我们正在使用MVC 5,你们有没有人可以帮我解决这个问题。
答案 0 :(得分:1)
您需要创建自定义视图引擎,最有可能继承自Razor视图引擎,并覆盖确定查找视图位置的方法。
关于这个主题的一篇博客:
http://theshravan.net/blog/configure-the-views-search-locations-in-asp-net-mvc/
答案 1 :(得分:0)
我处理上述情况的方法是创建一个自定义视图引擎,它将从指定的文件夹结构加载视图。
希望这对某人有帮助,
谢谢大家的支持。