gpt4 book ai didi

asp.net - @using 和 @namespace 指令在 Razor _ViewImports.cshtml 文件中的作用是什么?

转载 作者:行者123 更新时间:2023-12-04 14:56:07 24 4
gpt4 key购买 nike

@using@namespace 指令在 Razor _ViewImports.cshtml 文件中的作用是什么?

@使用 TagHelpersBuiltIn
@namespace TagHelpersBuiltIn.Pages
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers

_ViewImports.cshtml

最佳答案

什么是_ViewImports.cshtml`?

_ViewImports.cshtml 用于声明驻留在包含 _ViewImports.cshtml 文件的文件夹中的 View 的所有导入。它还用于为位于该文件夹中的所有 View 声明命名空间,此外,还用于声明应该可用于位于该文件夹中的 View 的任何标签助手。

@命名空间

_ViewImports.cshtml 文件中的 @namespace 指令用于声明 Razor View /页面的根命名空间。大多数项目默认生成的 _ViewImports.cshtml 文件将具有 @namespace MyProjectName.Pages。您的 _ViewImports.cshtml 文件中应该只有这些声明之一,如果有多个,最后一个是“获胜”的,其余的将无效. @namespace 指令类似于为 C# 类文件声明命名空间。这只是允许为文件夹中的所有 View 声明命名空间,而不必在每个 View 中声明命名空间。

@using

@using 用于为文件夹中的所有 View 添加导入。例如:如果您的 _ViewImports.cshtml 文件包含 @using Microsoft.AspNetCore.Identity,则该文件夹下的任何 View 都可以访问 Microsoft. AspNetCore.Identity 命名空间,而无需通过 @using 指令显式导入它们。

@addTagHelper

@addTagHelper 用于声明应该可用于包含 _ViewImports.cshtml 文件的文件夹中的 View 的所有标签助手。默认项目模板通常在根 _ViewImports.cshtml 文件中包含以下 @addTagHelper 指令:@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers.

其他信息

需要注意的是,ViewsPages 根目录中的 _ViewImports.cshtml 文件将适用于ViewsPages 文件夹也是如此。您还可以在子目录中添加 _ViewImports.cshtml 文件,以添加仅适用于该子目录中的 View 的其他 using 语句。还值得注意的是,至少对于 Razor Pages,即使根 _ViewImports.cshtml 文件将命名空间声明为 @namespace MyProject.Pages,即 中的 View MyProject\Pages\ASubDirectory 将自动获得命名空间 MyProject.Pages.ASubDirectory 而无需添加另一个 _ViewImports.cshtml 文件来声明 MyProject\中的命名空间Pages\ASubDirectory.

归因

此答案最初是对 Coding Yoshi 答案的编辑。因此,部分答案基于 Coding Yoshi 的答案。

关于asp.net - @using 和 @namespace 指令在 Razor _ViewImports.cshtml 文件中的作用是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50322109/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com