2

最初のページから次のページに選択されたグローバル化リソース言語を渡す必要があります。画像とコードセグメントに沿って、何が間違っているか教えてください。リソース言語を別のページに渡す方法

1)私は、コードの下に使用して、ドロップダウンから言語を取得しています

public class BasePage : System.Web.UI.Page 
{ 
    public BasePage() 
    {  
    } 

    static string cultureName; 
    public static string CultureName 
    { 
     return cultureName; 
    } 
    set 
    { 
     cultureName = value; 
    } 
} 

protected override void InitializeCulture() 
{ 
    Thread.CurrentThread.CurrentCulture = 
    CultureInfo.CreateSpecificCulture(cultureName); 
    Thread.CurrentThread.CurrentUICulture = new 
    CultureInfo(cultureName); 
    base.InitializeCulture(); 
} 

3)渡される変数は継承して、ここから読んでいるこの関数に渡す

protected void Button1_Click(object sender, EventArgs e) 
{ 
    BasePage.CultureName = DropDownList1.SelectedItem.Value.ToString(); 
    Response.Redirect("Page1.aspx"); 
} 

2)それはBasePageクラスクラス

public partial class Page1 : BasePage 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 

    } 
} 

4)ASPXファイル

012を使用して
<pre> 
<%@ Page Language="C#" AutoEventWireup="true"CodeBehind="Page1.aspx.cs" 
meta:resourcekey="PageResource1" Inherits="Globalization.Page1" %> 
<!DOCTYPE html> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
    <head runat="server"> 
     <title></title> 
    </head> 
    <body> 
     <form id="form1" runat="server"> 
      <div> 
       <asp:Label ID="Label2" runat="server" 
meta:resourcekey="Label2Resource1" /> 
      </div> 
       <asp:Button ID="Button1" runat="server" 
meta:resourcekey="ButtonResource1"/> 
     </form> 
    </body> 
</html> 
</pre> 

5)リソースファイルについては添付の画像を参照してください。私はこれらのステップを行った。しかし、それは動作しません。私を助けてください 。 :-)

enter image description here enter image description here

答えて

0

私は間違いを理解しました。上記のコードは正常に動作しており、その言語を次のページにも渡しています。問題はローカルリソースを使用していて、resxファイルを1ページだけ追加したことです。予想される結果を得るには、resxファイルを両方のページに追加する必要があります。

0

あなたは他のページへのクエリ文字列でそれを渡すことができます:

:そして BasePageに値を読み込み、プロパティを設定し
BasePage.CultureName = DropDownList1.SelectedItem.Value.ToString(); 
Response.Redirect(string.Format("Page1.aspx?culture={0}", BasePage.CultureName); 

public BasePage() 
{ 
    this.CultureName = Request.QueryString["culture"]; 
} 
関連する問題