Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 哪个事件将UICulture应用于页面_Asp.net_Localization - Fatal编程技术网

Asp.net 哪个事件将UICulture应用于页面

Asp.net 哪个事件将UICulture应用于页面,asp.net,localization,Asp.net,Localization,我知道如何通过创建资源文件将本地化应用于页面。但几天以来,有一件事真的让我心痛,那就是UIculture是如何应用到屏幕背景下的ASP.NET页面的 脑海中浮现的想法是页面生命周期中的事件。 如果是,那么在哪种情况下以及如何测试 请澄清。 谢谢除了web.config中的设置和页面标记之外,还有一个页面方法InitializeCulture(),您可以覆盖它以包含额外的逻辑 protected override void InitializeCulture() { // include y

我知道如何通过创建资源文件将本地化应用于页面。但几天以来,有一件事真的让我心痛,那就是UIculture是如何应用到屏幕背景下的ASP.NET页面的

脑海中浮现的想法是页面生命周期中的事件。 如果是,那么在哪种情况下以及如何测试

请澄清。
谢谢

除了
web.config
中的设置和页面标记之外,还有一个页面方法
InitializeCulture()
,您可以覆盖它以包含额外的逻辑

protected override void InitializeCulture()
{
   // include your extra logic
   //base.Culture
   base.InitializeCulture();
}

除了
web.config
中的设置和页面标记之外,还有一个页面方法
InitializeCulture()
,您可以覆盖它以包含额外的逻辑

protected override void InitializeCulture()
{
   // include your extra logic
   //base.Culture
   base.InitializeCulture();
}

以声明方式设置ASP.NET网页的区域性和UI区域性

要为所有页面设置UI区域性和区域性,请在Web.config文件中添加全球化部分,然后设置uiculture和区域性属性,如以下示例所示:

<globalization uiculture="es" culture="es-MX" />
<%@ Page UICulture="es" Culture="es-MX" %>
要让ASP.NET将UI区域性和区域性设置为当前浏览器设置中指定的第一种语言,请将UICulture和区域性设置为
auto
。或者,您可以将此值设置为
auto:culture\u info\u name
,其中
culture\u info\u name
是一个区域性名称。有关区域性名称的列表,请参阅CultureInfo。您可以在
@Page
指令或Web.config文件中进行此设置


以编程方式设置ASP.NET网页的区域性和UI区域性

  • 重写页面的InitializeCulture方法
  • 在重写的方法中,确定要将页面设置为哪种语言和区域性。
    • 注意:InitializeCulture方法在页面生命周期的早期调用,在为页面创建控件或设置属性之前调用。因此,要读取从控件传递到页面的值,必须使用表单集合直接从请求获取它们
  • 通过以下方式之一设置UI区域性和区域性:
    • 将页面的区域性和UICulture属性设置为语言和区域性字符串(例如,
      en-US
      )。这些属性是页面的内部属性,只能在页面中使用
    • 将当前线程的CurrentUICulture和CurrentCulture属性分别设置为UI区域性和区域性。CurrentUICulture属性接受语言和区域性信息字符串。要设置CurrentCulture属性,请创建CultureInfo类的实例并调用其CreateSpecificCulture方法
  • C#代码示例:

    protected override void InitializeCulture()
    {
        if (Request.Form["ListBox1"] != null)
        {
            String selectedLanguage = Request.Form["ListBox1"];
            UICulture = selectedLanguage ;
            Culture = selectedLanguage ;
    
            Thread.CurrentThread.CurrentCulture = 
                CultureInfo.CreateSpecificCulture(selectedLanguage);
            Thread.CurrentThread.CurrentUICulture = new 
                CultureInfo(selectedLanguage);
        }
        base.InitializeCulture();
    }
    
    有关页面生命周期的详细信息,请参见下文:

  • 构造
  • 处理请求
  • 框架初始化
  • 初始化文化
  • 如果存在子控件
  • AddParsedSubObject
  • CreateControlCollection
  • 附加控制
  • 解析适配器
  • 确定返回模式
  • OnPreInit
  • 奥尼特
  • 轨迹视图状态
  • 不完整
  • 预加载
  • 装载
  • 加载完成
  • 确保儿童控制
  • CreateChildControls
  • 预渲染
  • OnPreRenderComplete
  • 保存视图状态
  • OnSaveStateComplete
  • CreateHtmlTextWriter
  • 渲染控制
  • 渲染
  • RenderChildren
  • VerifyRenderingInServerForm
  • 昂洛德
  • 处置

  • 以声明方式设置ASP.NET网页的区域性和UI区域性

    要为所有页面设置UI区域性和区域性,请在Web.config文件中添加全球化部分,然后设置uiculture和区域性属性,如以下示例所示:

    <globalization uiculture="es" culture="es-MX" />
    
    <%@ Page UICulture="es" Culture="es-MX" %>
    
    要让ASP.NET将UI区域性和区域性设置为当前浏览器设置中指定的第一种语言,请将UICulture和区域性设置为
    auto
    。或者,您可以将此值设置为
    auto:culture\u info\u name
    ,其中
    culture\u info\u name
    是一个区域性名称。有关区域性名称的列表,请参阅CultureInfo。您可以在
    @Page
    指令或Web.config文件中进行此设置


    以编程方式设置ASP.NET网页的区域性和UI区域性

  • 重写页面的InitializeCulture方法
  • 在重写的方法中,确定要将页面设置为哪种语言和区域性。
    • 注意:InitializeCulture方法在页面生命周期的早期调用,在为页面创建控件或设置属性之前调用。因此,要读取从控件传递到页面的值,必须使用表单集合直接从请求获取它们
  • 通过以下方式之一设置UI区域性和区域性:
    • 将页面的区域性和UICulture属性设置为语言和区域性字符串(例如,
      en-US
      )。这些属性是页面的内部属性,只能在页面中使用
    • 将当前线程的CurrentUICulture和CurrentCulture属性分别设置为UI区域性和区域性。CurrentUICulture属性接受语言和区域性信息字符串。要设置CurrentCulture属性,请创建CultureInfo类的实例并调用其CreateSpecificCulture方法
  • C#代码示例:

    protected override void InitializeCulture()
    {
        if (Request.Form["ListBox1"] != null)
        {
            String selectedLanguage = Request.Form["ListBox1"];
            UICulture = selectedLanguage ;
            Culture = selectedLanguage ;
    
            Thread.CurrentThread.CurrentCulture = 
                CultureInfo.CreateSpecificCulture(selectedLanguage);
            Thread.CurrentThread.CurrentUICulture = new 
                CultureInfo(selectedLanguage);
        }
        base.InitializeCulture();
    }
    
    有关页面生命周期的详细信息,请参见下文:

  • 构造
  • 处理请求
  • 框架初始化
  • 初始化文化
  • 如果存在子控件
  • AddParsedSubObject
  • CreateControlCollection
  • 附加控制
  • 解析适配器
  • 确定返回模式
  • OnPreInit
  • 奥尼特
  • 轨迹视图状态
  • 不完整
  • 预加载
  • 装载
  • 加载完成
  • 确保儿童控制
  • CreateChildControls
  • 预渲染
  • O