デフォルト ページにグローバリゼーションを適用しましたが、Web ユーザー コントロールには適用されません。私は Header.ascx を作成し、2 つの linkButton を英語用に 1 つ、スペイン語用に 2 つ配置しました。私はheader.ascxフォームコードでコードを使用しています....
英語のこのコード
protected void lbtnEng_Click(object sender, EventArgs e)
{
HttpCookie cookie = new HttpCookie("CultureInfo");
cookie.Value = "en";
Response.Cookies.Add(cookie);
Thread.CurrentThread.CurrentCulture = new CultureInfo("en");
Thread.CurrentThread.CurrentUICulture = new CultureInfo("en");
Server.Transfer(Request.Path);
}
スペイン語のこのコード
protected void lbtnSpan_Click(object sender, EventArgs e)
{
HttpCookie cookie = new HttpCookie("CultureInfo");
cookie.Value = "es-mx";
Response.Cookies.Add(cookie);
Thread.CurrentThread.CurrentCulture = new CultureInfo("es-mx");
Thread.CurrentThread.CurrentUICulture = new CultureInfo("es-mx");
Server.Transfer(Request.Path);
}
このコードは、デフォルト ページのラベル テキストの言語を変更しますが、Web ユーザー コントロール ラベルの言語は変更しません。デフォルト ページでコントロールを宣言します。
<asp:Label ID="lbl_test" runat="server" Text="<%$ Resources:Resource, Test %>"></asp:Label>
および Web コントロールで
<asp:Label ID="lbl_test" runat="server" Text="<%$ Resources:Resource, Test %>"></asp:Label>