我可以有多个_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
下的任何视图都获得全局using
的 + 产品using
的。我想要达到的目标感觉“更干净”?。这样我可以告诉谁使用了什么。有什么想法吗? ?
我在文档页面Importing Shared Directives上看不到任何描述此场景的信息。也许我错过了吗?
答案 0 :(得分:1)
是的,例如,您可以在常规_ViewImports.cshtml
文件夹下以及Views
的{{1}}文件夹下拥有多个Views
。
他们当然可以导入子集所需的内容。
就我而言,呈现该区域的视图时,它将首先查找为该区域定义的Areas
和_ViewStart.cshtml
。如果找不到,它会出去寻找一般的。
这是您要问的吗?
答案 1 :(得分:0)
支持多个_ViewImports.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