在视图中找不到 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 核心的 startup.cs 文件中找不到 Use.RunTimePageInfo() 方法
ASP.NET中找不到listview控件....急..怎么在ASP.NET中添加LISTVIEW控件...
第三方 dll 在 ASP.NET MVC 项目中找不到它的依赖项
在 ASP.NET Core Web API 的已注册 .NET 数据提供程序列表中找不到指定的不变名称“System.Data.sqlClient”