Asp.net core 多个视图导入?

Asp.net core 多个视图导入?,asp.net-core,asp.net-core-mvc,Asp.net Core,Asp.net Core Mvc,我可以有多个_ViewImports.cshtml文件吗?我不想在所有视图中导入某些名称空间,但要导入视图的某个子集。我的目标是使用组合来清楚地了解谁需要哪些导入 例如: +---Controllers | OrdersController.cs | ProductsController.cs | \---Views | _ViewImports.cshtml //global using | +---Orders

我可以有多个_ViewImports.cshtml文件吗?我不想在所有视图中导入某些名称空间,但要导入视图的某个子集。我的目标是使用组合来清楚地了解谁需要哪些导入

例如:

+---Controllers  
|       OrdersController.cs  
|       ProductsController.cs  
|  
\---Views  
    |   _ViewImports.cshtml  //global using
    |  
    +---Orders  
    |       Index.cshtml  
    |       _ViewImports.cshtml  //using's specific to Orders
    |  
    \---Products  
            Index.cshtml  
            _ViewImports.cshtml  //using's specific to Products

在上面,Products下的任何视图都会获得全局使用的+产品使用的。我试图实现的感觉是“更干净”是的,您可以有多个_ViewImports.cshtml,例如,在常规视图文件夹下,以及在区域中的视图文件夹下

当然,它们可以导入您只需要的子集

在我的例子中,当呈现该区域的视图时,它将首先查找为该区域定义的_ViewStart.cshtml和_viewsimports.cshtml。如果没有找到,那么它将出去寻找一般的

这就是你要问的吗?

支持多视图导入。支持cshtml,合成也可以,但不会跨越区域边界

+---Areas  
|   \---Admin  
|       +---Controllers  
|       |       AdminController.cs  
|       |  
|       +---Models  
|       |       AdminModel.cs  
|       |  
|       \---Views  
|           |   _ViewImports.cshtml  
|           |  
|           \---Admin  
|                   Index.cshtml  //sees .\ViewImports.csthml
                                  //and \Areas\AdminViews\ViewImports.csthml
                                  //DOESN'T see \Views\ViewImports.csthml
|                   _ViewImports.cshtml  
|  
+---Controllers  
|       OrdersController.cs  
|       ProductsController.cs  
|  
\---Views  
    |   _ViewImports.cshtml  
    |  
    +---Orders  
    |       Index.cshtml  //sees .\ViewImports.csthml and \Views\ViewImports.csthml
    |       _ViewImports.cshtml  
    |  
    \---Products  
            Index.cshtml  //sees .\ViewImports.csthml and \Views\ViewImports.csthml
            _ViewImports.cshtml

嗨,大卫,有点。区域导入是否得到全球导入?我也更新了我的问题。@spottedmahn:不,在我的专栏文章中我提到MVC将首先查看该区域是否定义了_ViewImports.cshtml。如果是的话,它不会看得更远。仅供参考,但它显然不会跨区域。