【发布时间】:2013-08-09 12:00:18
【问题描述】:
我为我的 WebApp 创建了 3 个选项习语。 这个成语在所有页面的Buttons中都设置了。第一个选项成语设置为 CurrentInfo。
我的问题是,用户在首页设置的这个成语,我可以在其他页面设置谁?
例如,对于每个页面,在 Page_Load 我都有这个配置:
Idioma.MudaCultura(CultureInfo.CurrentCulture.TwoLetterISOLanguageName.ToString());
主页中的我的按钮事件。 (基本上所有页面都一样)
protected void es_OnChange(object sender, EventArgs e)
{
Idioma.MudaCultura("es");
lblWelcome.Text = Idioma.RetornaMensagem("welcome");
btnRequestAccess.Text = Idioma.RetornaMensagem("btnRequestAccess");
btnTickets.Text = Idioma.RetornaMensagem("btnTickets");
btnManager.Text = Idioma.RetornaMensagem("btnManager");
btnManageFolders.Text = Idioma.RetornaMensagem("btnManageFolders");
}
我的课堂习语
public class Idioma
{
private string chaveRM = "";
public string ChaveRM
{
get { return chaveRM; }
set { chaveRM = value; }
}
public static string RetornaMensagem(string NomeMensagem)
{
ResourceManager resx = new ResourceManager(typeof(RM));
return resx.GetString(NomeMensagem, System.Threading.Thread.CurrentThread.CurrentCulture);
}
public static void MudaCultura(string cultura)
{
if (cultura=="pt")
{
System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("pt", true);
}
else if(cultura=="en")
{
System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en", true);
}
else if (cultura == "es")
{
System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("es", true);
}
}
}
我需要设置CurrentInfo 选项,即用户在主页中设置,如果与当前信息不同。
例子:
主页:我的 CurrentInfo 是“en-US”。 Home:我将我的成语改为“es-ES”。 其他页面:我需要获取这个新的 CurrentInfo("es-ES")。
我说清楚了吗?
【问题讨论】:
-
以某种方式保存选定的选项。 ViewState、Session 等
-
但是我如何将会话值传递给其他页面,例如?我需要将在 HomePage 中设置的 CurrentInfo 传递给任何其他页面。
-
我看到您正在为有关 ASP.NET 的非常基本的概念而苦苦挣扎。 Session 变量在网站的任何地方都可见,只要在某处声明。
-
是的,我是任何主题的初学者。对不起!感谢您的帮助!现在效果很好! :)
标签: c# asp.net .net cultureinfo