如何在 .aspx 中访问 My.Resources?

How to access My.Resources in .aspx?

我有一个字符串资源,我可以像这样在我的代码中访问:

My.Resources.SomeStringResource

但是如果我尝试像这样在 .aspx 中访问它:

<a href="http://someurl.com"><%=My.Resources.SomeStringResource %></a>

它不编译。似乎 My.ComputerMy.LogMy.Request 和其他一些可用但 My.Resources.

我想做的事情可行吗?

ASP.NET Web 应用程序中的资源文件以不同的方式创建和使用(特别是当您想在标记中使用它们时,这正是您所追求的)

您无法从标记访问 My.Resources 的原因是标记文件被 ASP.NET 框架编译成一个单独的 class 到一个单独的程序集中,而该程序集不会无法访问 My.Resource(标记为 "Friend" 只能访问)。

因此,对于 ASP.NET 应用程序,您必须在 App_GlobalResources 中创建资源文件(如果使用共享资源),然后按以下方式使用:

假设资源文件的名称是 "GLobalResources" 在 App_GlobalResources 目录中。

<asp:Literal runat="server" Text="<%$ Resources:GlobalResources, MyName %>" />

更多信息请查看以下页面:

https://msdn.microsoft.com/en-us/library/ms227427.aspx

在 *.RESX 文件中将资源访问修饰符更改为 "Public":

然后像这样在代码前端访问:

<%= WebApplication1.My.Resources.Resource1.String2%>