0

同じテキストが割り当てられた複数のボタンがページにあるページがあり、ユーザーのブラウザー カルチャに基づいてページを別の言語にローカライズする作業を行っています。プログラムでそれらを循環させ、その場でラベルを付け直すことを望んでいました。これは私が試したもので、aspページエラーが発生します:

foreach (Button s in Page.Controls)
{
    if (s.Text =="search")
    {
       s.Text = "buscar";
    }
}
4

3 に答える 3

6

コントロールをループするのではなく、リソース ファイルの使用を検討することをお勧めします。たとえば、リソース ファイルが配置されている場合は、次のようにボタンを定義できます。

<asp:Button ID="btnSave" runat="server" meta:resourcekey="btnSave" Text="English Button" />

サポートしたい言語と文化ごとに resx ファイルを作成し、各ファイルには「btnSave」などの同じラベルが含まれますが、テキスト値は異なります。

リソース ファイルを調べることを強くお勧めします。長期的には、リソース ファイルの方がはるかに柔軟であることが証明されるからです。

于 2013-08-28T21:33:38.910 に答える