zoukankan      html  css  js  c++  java
  • Asp.net Resource

    1.资源类别
    asp.net中的资源的存储形式有:
    (1).txt :它以嵌入资源(BuildAction:Embed Resource)的形式添加到Assembly,只支持字符串类型。
      优点:适合保存大量类型单一的数据 ex:新闻的正文
      缺点:容易被修改,读取数据麻烦
      操作数据:
      System.IO.Stream str = System.Reflection.Assembly.GetExecutingAssembly().GetManifestResourceStream("ResourceDemo.language.txt");
    (2).resx :以嵌入资源的形式添加到Assembly中,支持多种类型;字符串,图像,声音.....
      操作:
      通过ResXResourceReader类读取
      ex:  ResXResourceReader reader = new ResXResourceReader(string.Format("{0}/{1}.resx", Server.MapPath("."), Session["culture"].ToString()));
    IDictionaryEnumerator dic = reader.GetEnumerator();           
    while (dic.MoveNext())
    {
    Response.Write(dic.Value);
    }   
    (3).resource: 资源形式添加到Assembly中。通过ResourceManager访问
        按照asp.net中资源的作用域分为:
        (1)全局资源(App_GlobalResources):在整个站点中都能共享的资源
    访问方法:
    (1)) 全局资源在App_GlobalResources文件夹中,asp.net运行时会为每个资源文件生成一个强类型化的类,这些类在Resources命名空间下。
        资源中的个key转化为类的属性。可以通过Resource.类名.key来访问资源
    (2))在页面中也可以直接访问资源:<%$ Resource:资源名,key %>
    (3))this.GetGlobalResourceObject("");
        (2)本地资源(App_LocalResources):特定于某个页面或者某个小范围内共享的资源
            本地资源要注意命名:本地资源的名称要与它提供给的目标的文件目录一致 ex:提供给default.aspx的资源文件名应为Default.aspx.resx
            提供给default.aspx的法语资源文件名应为:Default.aspx.fr.resx
            访问方法:
            (1)) 通过编程方式
                 this.GetLocalResourceObject("");
            (2)) <%$ Resource:key%>
            (3)) 通过隐式声明语法访问:该方法只针对服务端控件,客户端通过添加runat=server来使用该语法规则
                 ex:<asp:Button id="Btn" runat="server" meta:resourceKey="Btn"/>
                 资源文件中:key:value--->Btn.Text:"确定"
                 meta:resourceKey将本地资源中的资源和控件进行绑定-->隐式声名性绑定语法
                 使用该语法时应确保 绑定到的控件具有资源文件中指定的属性(字符串应具有与 meta:resourcekey 属性定义的目标和属性的名称相匹配的名称)
                 在运行时 .net运行时会自动把在资源文件中指定的属性添加到相应的控件上 
                 ex:资源文件中:btn.ForeColor="red" 会将id为btn的控件的ForeColor设置为Red颜色            
                 全局资源不能使用隐式声名性语法
    全局资源文件
        在 App_GlobalResources文件夾中的文件,即是全局资源文件。App_GlobalResources 文件夹中的任何 .resx 文件都具有全局范围。
        在右鍵方案->加入ASP.NET文件夾 中可以加入App_GlobalResources文件夾
        可以用HttpContext.GetGlobalResourceObject方法讀取全局资源文件
    本地资源文件
        本地资源文件是只应用于一个 ASP.NET 页的文件(带有 .aspx、.ascx、.master 等扩展名的 ASP.NET 页)。
        App_LocalResources 文件夹中文件為本地資源文件。
        App_LocalResources 文件夹可以存在于应用程序的任何文件夹中,这与 App_GlobalResources 根文件夹不同。
        通过资源文件名将一组资源文件与特定的网页相关联。
        HttpContext.GetLocalResourceObject方法讀取本地资源文件 
  • 相关阅读:
    Django实现注册,往邮箱发送验证链接
    初来乍到
    (spring-第5回【IoC基础篇】)spring容器从加载配置文件到实例化bean的内部工作机制
    (spring-第4回【IoC基础篇】)spring基于注解的配置
    (spring-第3回【IoC基础篇】)spring的依赖注入-属性、构造函数、工厂方法等的注入(基于XML)
    (spring-第2回【IoC基础篇】)Spring的Schema,基于XML的配置
    (spring-第1回【IoC基础篇】)Spring容器中Bean的生命周期
    Python的小数据池和编码解码
    Python数据类型之字典
    Python的基本数据类型(列表,元组)
  • 原文地址:https://www.cnblogs.com/Memory/p/2087407.html
Copyright © 2011-2022 走看看