【问题标题】:How get value from localization?如何从本地化中获得价值?
【发布时间】:2012-01-02 01:05:49
【问题描述】:

在我的项目中,我在 App_GlobalResources 文件夹中添加了树全局本地化文件:Main.en-US.resx + Main.ru-Ru.resx + Main.uk-UA.resx。

在母版页上,我将文化设置为这样的会话:

protected void SetUSA_Click(object sender, ImageClickEventArgs e)
        {
            Session["MyCulture"] = CultureInfo.CreateSpecificCulture("en-US");
            Server.Transfer(Request.Url.LocalPath);  
        }

在第一类初始化文化中:

public class BaseForm : System.Web.UI.Page
    {
        protected override void InitializeCulture()
        {
            SetCulture();
            base.InitializeCulture();
        }

        private void SetCulture()
        {
            if (Session["myCulture"] != null) 
            {
                CultureInfo culture = (CultureInfo)Session["myCulture"];
                Thread.CurrentThread.CurrentCulture = culture;
                Thread.CurrentThread.CurrentUICulture = culture;                
            }
        }

一些页面继承这个类:

public partial class ProductType : WrapperObjects.BaseForm
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }
    }

在代码中我获取价值:

string ColumnName = CommonUtils.GetValueField("Main", "ProductTypeNameTitle", (CultureInfo)HttpContext.Current.Session["MyCulture"]);


public static string GetValueField(string nameFileResources, string nameField, CultureInfo currentCulture)
        {
            try
            {
                if (currentCulture == null) currentCulture = new CultureInfo("ru-RU");
                object fieldValue = HttpContext.GetGlobalResourceObject(nameFileResources, nameField, currentCulture);
                return fieldValue == null ? nameField : fieldValue.ToString();
            }
            catch (Exception ex)
            {
                return nameField;
            }
        }

但它不会工作。我找不到我的错误。

【问题讨论】:

    标签: c# asp.net localization


    【解决方案1】:

    您似乎混淆了会话变量名称 "myCulture" 和 "MyCulture"。

    【讨论】:

    • 谢谢。小建议是使用常量。然后,您可以只使用该常量,它将使您免于任何输入错误(或者如果发生错误,您可以在一个地方进行修复。)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-03-10
    • 1970-01-01
    • 1970-01-01
    • 2021-07-28
    • 2020-01-12
    • 1970-01-01
    • 2020-11-03
    相关资源
    最近更新 更多