如何从程序集中获取资源
2010-12-28 17:00
253 查看
Asp.net可获取的资源,总共有4种:
1. 程序集中的直接嵌入的文件,如:图像、js文件、html文件等。
2. 站点内部的直接嵌入的文件,如:图像、js文件、html文件等。
3. 程序集中的直接嵌入的资源文件(后缀名为“.resx”)。
4. 站点内部的App_GlobalResources目录下的资源文件(后缀名为“.resx”)。
Asp.net除了第2种可以直接在页面中引用外,其他3种资源的获得方式有5种。
1. GetWebResourceUrl方法:可以直接获取程序集中的直接嵌入的文件的url字符串。
2. ResourceManager方法:可以获取程序集中直接嵌入的资源文件(后缀名为“.resx”)。
3. 直接让studio平台用ResXFileCodeGenerator工具生成强类型资源类,然后引用。
4. Assembly.GetManifestResourceStream方法:可以直接获取DLL中的直接嵌入的文件。
5. Resources.[资源文件名].ResourceManager.GetString("jj"):可以直接获取站点内部的App_GlobalResources目录下的资源文件。
Asp.net可以建立.resx类型的资源文件,也可以在程序集中嵌入图像、js文件、html文件等。这2种都是资源,但提取的方式有所不同。
直接嵌入程序集的资源(在程序集中嵌入图像、js文件、html文件等),通常用System.Web.UI.ClientScriptManager的GetWebResourceUrl方法来提取,ClientScriptManager类通过Page.ClientScript暴露。在控件内部,可以通过this.Page.ClientScript得到ClientScriptManager实例。
使用GetWebResourceUrl方法的程序集的属性文件AssemblyInfo.cs必须要将资源文件进行注册。
[assembly: WebResourceAttribute("eee.01.jpg","image/jpg")] [assembly: WebResourceAttribute("eee.02.jpg", "image/jpg")] [assembly: WebResourceAttribute("eee.ee.01.jpg", "image/jpg")] |
但Asp.net可以建立.resx类型的资源文件,则需要使用System.Resources.ResourceManager来提取。
使用System.Resources.ResourceManager提取所获得的可以是字符串、图像、图标、音频、文件、其他等对象。可以在服务端的执行代码中使用。但不能直接暴露给客户端。
而使用GetWebResourceUrl方法所获得的是一个字符串,该字符串是服务端文件(图像、js、html等)的url地址。不能用在服务端的执行代码中。
如果要在服务端读取程序集中的文件,必须使用其他方法。
从程序集中获取图形文件 如下方法从ppp.ppp1类所在的程序集中获取了01.jpg图形文件,该文件存在于fff目录,该程序集的默认空间名为kkk。
| |
|
相关文章推荐
- c#如何获取程序集中的GUID值
- 如何读取程序集中的资源文件
- .在java和java web程序中的含义以及如何获取web资源
- 如何从程序集中读取资源
- 如何根据字符串获取嵌入到程序中的图片等资源
- 未能在给定的程序集中找到任何适合于指定的区域性(或非特定区域性)的资源
- 如何在一个Office Automation的程序中获取Shared Calendars
- c#插件式程序开发(二):如何在插件中调用主程序资源
- 从获取QQ验证码谈如何改进用户体验,提高程序的响应效果
- 20180821 Python学习笔记:如何获取当前程序路径
- android如何获取res文件夹下drawable文件夹下的图片资源文件转成一个BitMap对象
- Java如何获取当前的jar包路径以及如何读取jar包中的资源
- 程序中如何获取Android的Root权限
- ABAP--如何获取ABAP的程序事件顺序的调用堆栈 .
- 如何获取当前程序文件的路径 Current Path
- Web应用中的普通java程序获取资源文件
- 安卓程序如何获取另一个apk的签名
- 如何获取程序执行时间的高精度时间?
- WPF 获取绑定的事件处理程序绑定全局资源
- Android 动态加载 之 如何获取插件res资源