Javascript 嵌入式dll资源

Javascript 嵌入式dll资源,javascript,asp.net,css,dll,Javascript,Asp.net,Css,Dll,是否有一种干净的方法可以访问dll中的嵌入式资源(css/js/images等) 例如,在aspx页面中,是否可以使用类似于以下内容的内容 创建一个资源提供程序Aspx页面,该页面将在查询字符串中检查资源名称。然后从dll中检索资源,二进制文件将资源写入输出 那么就这样称呼它: <script type="text/javascript" src="ResourceProvider.aspx?name=My.Dll.Namespace.File.js"></scrip

是否有一种干净的方法可以访问dll中的嵌入式资源(css/js/images等)

例如,在aspx页面中,是否可以使用类似于以下内容的内容


创建一个资源提供程序Aspx页面,该页面将在查询字符串中检查资源名称。然后从dll中检索资源,二进制文件将资源写入输出

那么就这样称呼它:

<script type="text/javascript" 
    src="ResourceProvider.aspx?name=My.Dll.Namespace.File.js"></script>

我建议您看看WebResource.axd以及如何访问嵌入式资源,例如:

您可以在服务器端获取资源url,如下所示:

Page.ClientScript.GetWebResourceUrl(typeof(MyNameSpaces.MyControl), "MyNameSpaces.Resources.MyImage.gif")

然后在第

页上呈现它,谢谢,我前一段时间看过WebResource,但不完全理解它是如何工作的。刚刚又看了一眼&我现在有了一个整洁的小解决方案

对于那些感兴趣的人,我在dll中有一个名为Resource的类,带有一个静态方法,如下所示

public static string Get(Page p, string file) {
    return p.ClientScript.GetWebResourceUrl(typeof(Resource), typeof(Resource).Namespace + ".Resources." + file);
}
在母版页(或web.config)中使用register指令后,我现在可以执行以下操作

<link href="<%= Resource.Get(this.Page, "Styles.reset.css") %>" rel="stylesheet" type="text/css" />

(reset.css位于dll中名为Styles的文件夹中,因此Styles.filename.css)


重要提示:

我发现GetWebResourceUrl接受的第一个参数必须是dll项目中的类,而不是消费网站中的类

在AssemblyInfo.cs文件中,我还很难确定用于资源的正确完全限定名。我发现我的程序集名称与默认命名空间不同。应使用默认命名空间来形成GetWebResourceUrl的“resourceName”参数