The HttpContext.GetLocalResourceObject Method Virtual Path

asp.net

I have read http://msdn.microsoft.com/en-us/library/ms149953.aspx and need to verify what is my GetLocalResourceObject virtual path.

My local resource files are located on my pc at:

C:\inetpub\wwwroot\GlobalX\Input\App_LocalResources

Within this folder are my resource files for all the languages that site handles (InputContactDetails.aspx.ro.resx, InputContactDetails.aspx.hi.resx, etc.), as well as the default resource file (InputContactDetails.aspx.resx).

I am receiving an error when I attempt to implement the virtual path string. Below is my line of offending code:

return '<%= HttpContext.GetLocalResourceObject("~/GlobalX/Input/App_LocalResources/InputContactDetails.aspx.resx", "ContactDetails.Text", new System.Globalization.CultureInfo("ro")) %>';

I have tried ~/GlobalX/Input/App_LocalResources as the virtual path, and several other permutations, but I get the same error.

If someone could show what I am doing wrong, I would appreciate it greatly.

Here is the error message I am getting:

The resource class for this page was not found. Please check if the
resource file exists and try again.

Description: An unhandled exception occurred during the execution of
the current web request. Please review the stack trace for more
information about the error and where it originated in the code.

Exception Details: System.InvalidOperationException: The resource
class for this page was not found. Please check if the resource file
exists and try again.

Source Error:

Line 410: function languageContactPromptPhone(var_lcs) { Line
411: if (var_lcs == "af") { Line 412: return '<%=
HttpContext.GetLocalResourceObject("~/GlobalX/Input/App_LocalResources/InputContactDetails.aspx.resx",
"ContactDetails.Text", new System.Globalization.CultureInfo("ro"))
%>'; Line 413: } Line 414: else if (var_lcs == "sq") {

Source File: c:\inetpub\wwwroot\GlobalX\Input\InputContactDetails.aspx
Line: 412

Stack Trace:

[InvalidOperationException: The resource class for this page was not
found. Please check if the resource file exists and try again.]
System.Web.Compilation.LocalResXResourceProvider.CreateResourceManager()
+2785818 System.Web.Compilation.BaseResXResourceProvider.EnsureResourceManager()
+24 System.Web.Compilation.BaseResXResourceProvider.GetObject(String
resourceKey, CultureInfo culture) +15
System.Web.Compilation.ResourceExpressionBuilder.GetResourceObject(IResourceProvider
resourceProvider, String resourceKey, CultureInfo culture, Type
objType, String propName) +23
System.Web.HttpContext.GetLocalResourceObject(String virtualPath,
String resourceKey, CultureInfo culture) +38
ASP.input_inputcontactdetails_aspx.__RenderContentInputContactDetails(HtmlTextWriter
__w, Control parameterContainer) in c:\inetpub\wwwroot\GlobalX\Input\InputContactDetails.aspx:412
System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer,
ICollection children) +109
System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) +8
System.Web.UI.Control.Render(HtmlTextWriter writer) +10
System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer,
ControlAdapter adapter) +27
System.Web.UI.Control.RenderControl(HtmlTextWriter writer,
ControlAdapter adapter) +8991378
System.Web.UI.Control.RenderControl(HtmlTextWriter writer) +25
System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer,
ICollection children) +208
System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) +8
System.Web.UI.Control.Render(HtmlTextWriter writer) +10
System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer,
ControlAdapter adapter) +27
System.Web.UI.Control.RenderControl(HtmlTextWriter writer,
ControlAdapter adapter) +8991378
System.Web.UI.Control.RenderControl(HtmlTextWriter writer) +25
System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer,
ICollection children) +208
System.Web.UI.UpdatePanel.RenderChildren(HtmlTextWriter writer) +256
System.Web.UI.UpdatePanel.Render(HtmlTextWriter writer) +37
System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer,
ControlAdapter adapter) +27
System.Web.UI.Control.RenderControl(HtmlTextWriter writer,
ControlAdapter adapter) +8991378
System.Web.UI.Control.RenderControl(HtmlTextWriter writer) +25
ASP.masterpages_masterinput_master.__RenderformMasterInput(HtmlTextWriter
__w, Control parameterContainer) in c:\inetpub\wwwroot\GlobalX\MasterPages\MasterInput.master:140
System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer,
ICollection children) +109
System.Web.UI.HtmlControls.HtmlForm.RenderChildren(HtmlTextWriter
writer) +173
System.Web.UI.HtmlControls.HtmlContainerControl.Render(HtmlTextWriter
writer) +31
System.Web.UI.HtmlControls.HtmlForm.Render(HtmlTextWriter output) +53
System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer,
ControlAdapter adapter) +27
System.Web.UI.Control.RenderControl(HtmlTextWriter writer,
ControlAdapter adapter) +8991378
System.Web.UI.HtmlControls.HtmlForm.RenderControl(HtmlTextWriter
writer) +40
System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer,
ICollection children) +208
System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) +8
System.Web.UI.Control.Render(HtmlTextWriter writer) +10
System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer,
ControlAdapter adapter) +27
System.Web.UI.Control.RenderControl(HtmlTextWriter writer,
ControlAdapter adapter) +8991378
System.Web.UI.Control.RenderControl(HtmlTextWriter writer) +25
System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer,
ICollection children) +208
System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) +8
System.Web.UI.Page.Render(HtmlTextWriter writer) +29
System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer,
ControlAdapter adapter) +27
System.Web.UI.Control.RenderControl(HtmlTextWriter writer,
ControlAdapter adapter) +8991378
System.Web.UI.Control.RenderControl(HtmlTextWriter writer) +25
System.Web.UI.Page.ProcessRequestMain(Boolean
includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
+3060

Best Answer

Had the same error in Asp.Net 4.6 in Code-Behind. It was caused by having App_LocalResources in the Path.

HttpContext.GetLocalResourceObject("~/App_LocalResources/Default.aspx", "SampleResource.Text")

Resulted in error: The resource class for this page was not found. Please check if the resource file exists and try again.

Without /App_LocalResources it works:

HttpContext.GetLocalResourceObject("~/Default.aspx", "SampleResource.Text")
Related Topic