【问题标题】:.Net Core Application Parts, change view import/search location.Net Core Application Parts,更改视图导入/搜索位置
【发布时间】:2022-02-08 05:35:34
【问题描述】:

我一直在试验 ASP.NET Core 应用程序部分,但遇到了两个问题:

  • 首先,有时我需要一种方法来在视图引擎的搜索路径中指定一个额外的目录。
  • 其次,通过应用部分拉入视图时,有什么办法可以改变视图的导入位置?

我问的原因是由于我的一些应用程序部分具有相同名称的控制器和视图(即 Home/Index),这会导致 AmbiguousMatchExceptions。我已经使用此处详述的命名空间路由方案重新定位了控制器:.net core replacement for MvcCodeRouting. Namespace based routing

任何帮助将不胜感激。谢谢。

【问题讨论】:

  • 您是否希望通过这种方式在视图引擎的搜索路径中指定额外的目录? stackoverflow.com/questions/36747293/…
  • @Chaodeng 感谢您的帮助,我前段时间看过那篇文章,但如果可能的话,想要一种更“可操作”的方法。我最终确实找到了一种方法并将其记录下来并将其标记为答案。感谢您的帮助!

标签: c# asp.net-mvc asp.net-core asp.net-mvc-routing


【解决方案1】:

IViewLocationExpander 接口的实现在这种情况下完成了这项工作。

通过创建IViewLocationExpander 的实现,您可以指定替代位置,视图可能位于其中。 “默认”位置被传递到 ExpandViewLocations 方法(返回 IEnumerable<string>),只搜索返回的位置,这意味着您可以选择包括默认值或将它们排除在外,仅强制您新指定要搜索的位置。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-19
    • 1970-01-01
    • 2017-04-01
    • 1970-01-01
    相关资源
    最近更新 更多