在视图中找不到 ASP.NET 资源

Posted

技术标签:

【中文标题】在视图中找不到 ASP.NET 资源【英文标题】:ASP.NET resource cannot be found in view 【发布时间】:2018-03-12 13:43:42 【问题描述】:

我创建了一个 MVC5 项目,我最初将资源文件放在项目的根目录中。 在我看来,我引用了“Resource.name”,例如:

@html.ActionLink(Resource.CreateButtonText, "Create")

然后我决定将我的资源文件移动到一个名为“Resources”的文件夹中。然后我的视图显示错误:

当前上下文中不存在名称“资源”

如何摆脱这个错误?

【问题讨论】:

【参考方案1】:

几乎可以肯定,这里发生的事情是 Visual Studio 设计者修改了资源类中的命名空间以匹配文件夹名称。

尝试改变:

@Html.ActionLink(Resource.CreateButtonText, "Create")

到:

@Html.ActionLink(Resources.Resource.CreateButtonText, "Create")

或在视图中添加using 指令:

@using Resources

或者,如果Resource 是 .resx 文件,则在 Visual Studio 中右键单击 .resx 文件并单击“属性”,然后编辑命名空间。

【讨论】:

【参考方案2】:

我发现在视图中也可以使用using语句:

@using Resources

其中 Resources 是在资源文件的属性中配置的命名空间(VS2017 中的“自定义工具命名空间”项)

【讨论】:

似乎这可能是对我的回答的评论或编辑 :) 无论如何,很高兴你修复了它。 感谢您的回答和评论...我觉得值得回答,因为这是我认为的首选解决方案...与没有使用语句。

以上是关于在视图中找不到 ASP.NET 资源的主要内容,如果未能解决你的问题,请参考以下文章

如何显示在 Asp.net MVC 中找不到的图像

在 Asp.Net Core 2.1 中找不到帐户页面

在 asp.net 核心的 startup.cs 文件中找不到 Use.RunTimePageInfo() 方法

ASP.NET中找不到listview控件....急..怎么在ASP.NET中添加LISTVIEW控件...

第三方 dll 在 ASP.NET MVC 项目中找不到它的依赖项

在 ASP.NET Core Web API 的已注册 .NET 数据提供程序列表中找不到指定的不变名称“System.Data.sqlClient”