【问题标题】:How to use Local_resources using Global.asax?如何使用 Global.asax 使用 Local_resources?
【发布时间】:2012-02-29 16:33:24
【问题描述】:

我一直在开发多语言应用程序。现在有2种语言。土耳其语和英语。全球资源一切正常。但是本地资源效果不佳。让你看看我的代码。我的代码 global.asax 和 login.aspx。还将 resx 文件作为全局和本地文件。

在我的 login.aspx 中:

  protected void btnEng_Click(object sender, ImageClickEventArgs e)
    {


        HttpCookie cookie = Request.Cookies["language"];

        if (cookie == null) cookie = new HttpCookie("language");

        cookie.Value = "en-US";

        Response.SetCookie(cookie);

        Response.Redirect("Login.aspx"); 
    }

    protected void btnTurk_Click(object sender, ImageClickEventArgs e)
    {

        HttpCookie cookie = Request.Cookies["language"];

        if (cookie == null) cookie = new HttpCookie("language");

        cookie.Value = "tr-TR";

        Response.SetCookie(cookie);

        Response.Redirect("Login.aspx"); 
    }

Global.asax:

       protected void Application_BeginRequest(object sender, EventArgs e)
    {

        // Dil ayarları cookie'den okunuyor. 

        string lang = "tr-TR"; // Dil varsayılan olarak Türkçe 

        System.Web.HttpCookie cookie = new System.Web.HttpCookie("language");

        cookie = Request.Cookies["language"];

        if (cookie != null && cookie.Value != null)

            lang = cookie.Value;  

        Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo(lang);

        Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(lang);


    }

一切正常。如果我使用全局 resx:

  <ext:TextField 
                ID="txtUsername" 
                runat="server" 
                FieldLabel="<%$ Resources: ResourceMetrics , kullanici %>"
                AllowBlank="false"
                BlankText="Your username is required."
                Text="Demo"
                AnchorHorizontal="100%"
                />

但如果我使用本地资源,

    <ext:Label ID="Label1" runat="server" meta:resourcekey="LabelResource1" Text="vxvccccccccccccccccccccccccccccc">

不工作! resx如何使用本地资源?

【问题讨论】:

    标签: c# asp.net .net visual-studio c#-4.0


    【解决方案1】:

    我也在我的项目中使用了全局资源。它有效,我从不使用本地的。但是当你初始化文化时我发现了一个问题。我认为您应该在基页中执行此操作,并覆盖 initializeCulture 方法。在应用中。它将改变所有使用该网站的用户的文化。

    protected override void InitializeCulture()
    {
        System.Globalization.CultureInfo culture = new System.Globalization.CultureInfo("en-US");
        Thread.CurrentThread.CurrentUICulture = culture;
        base.InitializeCulture();
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-12
      • 2010-10-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多