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

时间:2015-10-16 02:11:08

标签: asp.net vb.net .net-4.0

我有一个我可以在我的代码中访问的字符串资源,如下所示:

My.Resources.SomeStringResource

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

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

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

我正在尝试做什么?

2 个答案:

答案 0 :(得分:3)

将* .RESX文件中的资源访问修饰符更改为“Public”:

enter image description here

然后在代码前面访问,如下所示:

<%= 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 %>" />

有关详细信息,请查看以下页面:

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