I am going crazy with localization. It doesn't work :(
I have 2 projects: a web application (ajax enabled) and a class library with a server control.
I have this in my server control:
[assembly:
WebResource("SomeControl.myScript.js","text/javascript")][assembly:
ScriptResource("SomeControl.myScript.js","SomeControl.Res","SomeControl.Res")]The myScript.js file is marked as embedded resource.
I have SomeControl.res and SomeControl.pt-BR.res resource files.
I have EnableScriptLocalization="true" in my ScriptManager.
I am registering myScript.js in the OnInit phase of the server control, like this:
// get script manager
ScriptManager scrMgr =ScriptManager.GetCurrent(this.Page);// register javascript fileScriptReference scriptRef =newScriptReference(Page.ClientScript.GetWebResourceUrl(
this.GetType(),"SomeControl.myScript.js"));scriptRef.NotifyScriptLoaded =
true;scriptRef.ScriptMode =
ScriptMode.Auto;scrMgr.Scripts.Add(scriptRef);
--
The problem is that the client side resource object is not being generated!!!
When I run the page and look with Fiddler, I have only the contents of myScript.js,but not the contents of the resources that I need.
I should have the contents of the resource files ready to be used client side.
I really need this feature and I am speding hours with this without success... I'd like to know if anyone here could make it work, and if possible, give me a help.
Thanks!
I found the problem :)
I must register myScript.js like this:
// get script manager
ScriptManager scrMgr =ScriptManager.GetCurrent(this.Page);// register javascript fileScriptReference scriptRef =newScriptReference("SomeControl.myScript.js","SomeControl");scriptRef.ResourceUICultures =
newstring[] {"pt-BR" };scriptRef.NotifyScriptLoaded =
true;scriptRef.ScriptMode =
ScriptMode.Auto;
scrMgr.Scripts.Add(scriptRef);
Now it works...
Cheers!
No comments:
Post a Comment