zoukankan      html  css  js  c++  java
  • asp.net 2.0 语言包 全球化

    新建一个测试站点添加 一个页面 test.aspx 在页面上拉出一个label控件命名为了 labTest
    添加两个特殊的文件夹App_GlobalResources App_LocalResources
    右键单击App_LocalResources 添加一个新的文件 命名为 test.aspx.resx 打开test.aspx.resx
    添加一条新的记录 名称:labTest 值:测试
    复制test.aspx.resx 文件。并命名成 test.aspx.en.resx (英文 en) 修改 labelTest的值为:test
    接下来在 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="test.aspx.cs" Culture="auto:zh-cn" UICulture="auto:zh-cn"  Inherits="test" %>
    加上 Culture 和 UICulture (测试发现 Culture没有起作用可以删除)

    打开labTest属性框。 找到 dataExpression Expression type 选择 resource ,resourceKey选择 labTest
    查看这个页面。我们可以看到 测试 两个字
    接下来。internet选项 语言 添加一个新的语言 en 并把它放在第一位。。重新刷新页面你可以看到 test
    注意: app_localresources 文件夹里的资源文件的命名 文件名称."语言代号".resx 并且需要一个默认的没有语言代号的

    我们继续试一下 App_GlobalResources(全局资源) 新建一个 Resource.ascx 添加 labTest2 值:测试2
    复制出一个 Resource.en.ascx 值为  Test2
    在test.aspx里再拉出一个 label 选取 data expression 继续选择 resource 把Resource(刚才取的名称)放入 classkey 接下来就可以选择
    resourceKey 为 labTest2

    测试。你就可以看到你想要的了.

    如何自己去控制 语言呢。我们只要重写 InitializeCulture() 并在里面设置  System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("name");

     protected override void InitializeCulture()
        
    {
            System.Threading.Thread.CurrentThread.CurrentUICulture 
    = new System.Globalization.CultureInfo("name");
            
    //base.InitializeCulture();
        }

    就可以了

    这个时候也许会你问哪一些我们需要动态提示绑定的应该什么处理呢。
    我们发现也很简单。
    原来可以直接通过
     this.Title = Resources.Resource.labTest2; 这样的方式来获得 Resource(同样为你资源的名字)
     

    this.Title =HttpContext.GetLocalResourceObject("~/ActivityList.aspx", "Title").ToString(); 这样也可以获取

  • 相关阅读:
    安装python软件出错,解决办法
    vt100
    Navicat 字符集 排序规则设置
    linux 查看进程 ps aux | grep init
    一、网络编程-UDP传输协议及socket套接字使用
    二、飞机大战终极版-巩固面向对象设计项目的思想
    一、利用Python编写飞机大战游戏-面向对象设计思想
    八、递归编程技巧
    七、面向对象之单例设计模式
    六、面向对象之单继承、多继承、重写
  • 原文地址:https://www.cnblogs.com/lovebanyi/p/784889.html
Copyright © 2011-2022 走看看