Click here to Skip to main content
11,796,631 members (70,069 online)
Rate this: bad
Please Sign up or sign in to vote.
See more: ASP.NET localization

I localized an ASP.Net web application with resx files in App_GlobalResources and it worked quite well. I could get resources from code behind and from markup with explicit (like this : <%$ Resources:Resource1, MyString1 %>)

Now, I am trying to embed resources into satellite assemblies. For each resource file, I set Embedded Resource in visual studio IDE, it works well in the code behind but I can't figure out how to get the resources from satellite assemblies from within the markup.

I googled this and I found only web sites talking about resources called from satellite assemblies from within code behind.

Is there a way to get resources from markup with satellite assemblies?

Thanks for your help
Posted 7-May-11 23:59pm
Edited 8-May-11 3:58am

1 solution

Rate this: bad
Please Sign up or sign in to vote.

Solution 1

Have you marked the resx's default Access Modifier to public? It defaults to Internal.

Take a squizz at this[^] and seach for "Now set the access modifier to public" the rest of the article is irrelevant.
Christophe_ at 9-May-11 14:41pm
Thanks for your answer.

Yes, the modifier was already set to public. Following the page sample you provided me, I was able to localize a value in the markup but this only worked outside of controls.

An example will be clearer I think ;). Assuming I have a localized string MarkupText in a resource file Resource2 :


<!--this one worked-->
<%= Resources.Resource2.MarkupText %>

<!-- this one doesn't work -->
<asp:Label runat="server" ID="label1" Text="<%=Resources.Resource2.MarkupText%>"/>

<!-- this one doesn't work with satellite assemblies but worked with standard resx -->
<asp:Label runat="server" ID="label2" Text="<%$Resources:Resource2,MarkupText%>"/>


Why can't I use <%$... %> notation like in resx version ?
Keith Barrow at 9-May-11 15:55pm
Try Changing the first one to Text="<%= Resources....." note the extra space, I've found it a bit finnicky. The second one has a "," instead of "." after Resource2, please check this isn't a typo.
Christophe_ at 11-May-11 3:22am
I tried
<asp:TextBox runat="server" ID="textbox1" Text="<%= WebApplication.Resource2.Markup1 %>" />

<asp:TextBox runat="server" ID="textbox2" Text="<%= Resource2.Markup1 %>" />

<asp:TextBox runat="server" ID="textbox3" Text="<%$ Resources:Resource2.Markup1 %>" />

<asp:TextBox runat="server" ID="textbox4" Text="<%$ Resources:Resource2, Markup1 %>" />

<asp:TextBox runat="server" ID="textbox5" Text="<%$ Resources:WebApplication.Resource2, Markup1 %>" />

<asp:TextBox runat="server" ID="textbox6" Text="<%$ Resources:WebApplication.Resource2.Markup1 %>" />

None of them worked.

PS : Here is a link to VS2010 solution if anyone sees what I am doing wrong
VS2010 Solution

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
0 Maciej Los 505
1 Abhinav S 417
2 OriginalGriff 360
3 CPallini 285
4 KrunalRohit 249
0 OriginalGriff 2,012
1 Maciej Los 1,725
2 KrunalRohit 1,310
3 CPallini 1,055
4 ppolymorphe 858

Advertise | Privacy | Mobile
Web04 | 2.8.151002.1 | Last Updated 8 May 2011
Copyright © CodeProject, 1999-2015
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100