ASP.NET本质论
上QQ阅读APP看书,第一时间看更新

3.6.2 定义嵌入的资源

WebResourceAttribute标签必须附加在嵌入资源的程序集中,如图3-8所示。

图3-8 嵌入的资源

WebResourceAttribute标签用来说明嵌入在程序集中的资源。它接受两个参数:一个是嵌入资源的名称,另一个是资源的MIME类型。例如:

[assembly:WebResource("image1.jpg",
"image/jpeg")]

资源的名称并不一定是资源文件的文件名,这个名称是由资源所在的命名空间加上资源文件名组成,如果文件在一个文件夹中,相当于增加了一层与文件夹同名的命名空间。注册和使用的时候,都是以资源名称为准的。

例如,项目的默认命名空间是DiskFileUpload,如果client.js在项目的根目录下,那么,实际的资源名称就是DiskFileUpload.client.js,如果文件还被放在目录script目录下,那么,实际的资源名称就是DiskFileUpload.script.client.js。

从.NET 2.0开始,还提供了一个PerformSubstitution的属性,用来指示是否分析资源中的WebResource。如果资源中还包含对其他资源的引用,注意设置为true,如下所示:

[assembly:WebResource("help.htm", "text/html", PerformSubstitution=true)]

例如,我们可以将上边用到的脚本以文件的形式加入到类库项目中,然后,在项目中通过标签设置这个资源将在Web中使用,如下所示:

[assembly:WebResource("DiskFileUpload.client.js", "text/javascript")]