Hi Eric,We are working on enhancing some of the StrataFrame functionality for the web (new features and framework enhancements).
The issue you are facing is a result of when StrataFrame is populating the controls with localized strings (Page_Load).
There are a couple of things you can do to work-around this problem for now:
1) call this static method on all your localized controls after setting Localization.MessageLocaleID = ####; (in my case, a Label named lblHello):
Localization
.SetLocalizationOnControl(lblHello);
2) To solve this more generically, in your page implement the Page_PreRender method and call a method in your ApplicationBasePage.cs to loop through all controls, and for ones that implement ILocalizable call the SetLocalizationOnControl(control) as done above
Example ApplicationBasePage.cs:
using
MicroFour.StrataFrame.Tools;using
System.Web.Configuration;using
System.Web.UI;using
MicroFour.StrataFrame.UI;public
class ApplicationBasePage : MicroFour.StrataFrame.UI.Web.BasePage, ITypeResolver{
protected void LocalizeControls(Control root)
{
foreach (Control control in root.Controls)
{
if (control.Controls.Count > 0)
{
LocalizeControls(control);
}
if (control is ILocalizable)
{
Localization.SetLocalizationOnControl((ILocalizable)control);
}
}
}
protected void LocalizeControls()
{
LocalizeControls(Page);
}
}
Does that help? I can send you a working sample, if that helps.