我有一个我可以在我的代码中访问的字符串资源,如下所示:
My.Resources.SomeStringResource
但是,如果我尝试在.aspx中访问它,就像这样:
<a href="http://someurl.com"><%=My.Resources.SomeStringResource %></a>
它无法编译。似乎My.Computer
,My.Log
,My.Request
和其他一些可用,但不是My.Resources
。
我正在尝试做什么?
答案 0 :(得分:3)
将* .RESX文件中的资源访问修饰符更改为“Public”:
然后在代码前面访问,如下所示:
<%= WebApplication1.My.Resources.Resource1.String2%>
答案 1 :(得分:1)
ASP.NET Web应用程序中的资源文件以不同的方式创建和使用(特别是当您想在标记中使用它们时,这就是您所追求的)
您无法从标记访问My.Resources的原因是,标记文件被ASP.NET框架编译到一个单独的类中,成为一个单独的程序集,并且该程序集没有访问My.Resource(标记为仅限“朋友”访问)。
因此,对于ASP.NET应用程序,您必须在App_GlobalResources中创建资源文件(如果使用共享资源),然后按以下方式使用:
假设资源文件的名称是App_GlobalResources目录中的“GLobalResources”。
<asp:Literal runat="server" Text="<%$ Resources:GlobalResources, MyName %>" />
有关详细信息,请查看以下页面: