Question

How to use them in a ASP.NET Web Application project? Any difference?

many thanks

Was it helpful?

Solution

Local Resources:

  1. Local resource is specific to a single Web page and used for providing versions of a Web page in different languages.
  2. Local resources must be stored in App_LocalResources sub folder.
  3. Local resources must be named in format [.language / language and culture].resx.

Ex: Default.aspx.resx- Base resource file. This is the default, or fallback, resource file.

Default.aspx.de.resx- A resource file for German etc.

Global Resources:

Global Resources Localization Suggestion for ASP.NET

  1. Global resource can be read from any page or code that is in the application.
  2. Global resource must be stored in App_GlobalResources at the root of the application.

    // Get the global resource string. 
    
     try
     { 
         globalresourcestring = (String)GetGlobalResourceObject("MyResource", "GlobalResourceString1"); 
     } 
     catch
     { 
         globalresourcestring = "Could not find global resource."; 
     }
    

OTHER TIPS

These are the steps for ASP.NET MVC 5 Web Application

  1. Right-click the solution name.
  2. Add > Add ASP.Net Folder > App_LocalResources
  3. File should open. Add content. (Name/Value)
  4. Locate Access Modifier at the top of the .resx file and change it to Public and save the file.
  5. Right click the .resx file of choice and select properties.
  6. Change Build Action from content to embedded Resource.
  7. Open solution explorer and expand the Views folder.
  8. Open the web.config file.
  9. Add new namespace to the namespaces section.

ex. <add namespace="ProjectName.App_LocalResources" />

In order to access the local resource file in your html code you must add

@using ProjectName.App_LocalResources

to the top of the page.

You can then access the different resources in the App_LocalResources by using the

@NameOfResxFile.NameOfValueInResxFile

I hope this helps.

If you are so sure about the fact that your resource exists on your .resx file, you can try :

string myValue = HttpContext.GetGlobalResourceObject("MyResourceFile","MyResource").ToString();

If you are not sure whether your resource exists or not you can use :

var resultMessage = HttpContext.GetGlobalResourceObject("MyResourceFile","MyResource");

string myValue = resultMessage == null ? string.Empty : resultMessage.ToString();
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top