【问题标题】:WebResources Embedded Resources and Javascript how to use them within another embedded resource?WebResources 嵌入式资源和 Javascript 如何在另一个嵌入式资源中使用它们?
【发布时间】:2012-09-13 23:42:29
【问题描述】:

我之前问过一个类似的问题,但反应很弱,所以不确定我的措辞是否正确。

我目前在 asp.net 页面上有一个自定义服务器控件。但是,该控件使用完全嵌入的 JavaScript 和图像资源。我的程序集正确设置了所有网络资源,并且我一直成功地将图像等用作图标。

但是现在,如果可能的话,我想直接在 javascript 文件中使用嵌入的网络资源图像。到目前为止,我已经尝试了以下方法,但没有成功:

document.getElementById('button').src = 'WebResource("NAMESPACE.FOLDER.IMAGE.png")';
document.getElementById('button').src = '<%WebResource("NAMESPACE.FOLDER.IMAGE.png")%>';

我不确定还有什么可以尝试的,因为我的大部分谷歌搜索似乎都遇到了死胡同。

提前致谢。

【问题讨论】:

    标签: c# javascript custom-controls embedded-resource


    【解决方案1】:

    我相信您正在寻找 WebResourceAttribute.PerformSubstitution 属性:

    WebResourceAttribute.PerformSubstitution on MSDN

    我们在定义嵌入资源的项目的AssemblyInfo.cs文件中使用:

    [程序集:System.Web.UI.WebResource("", "text/css", PerformSubstitution = true)]

    已编辑:

    AssemblyInfo.cs

    [assembly: System.Web.UI.WebResource("Project.Content.Styles.css", "text/css", PerformSubstitution = true)]
    [assembly: System.Web.UI.WebResource("Project.Images.Sprite.png", "image/png")]
    

    Content/Styles.css(嵌入资源)

    .icon {
        background-image: url(<%=WebResource("Project.Images.Sprite.png")%>);
    }
    

    【讨论】:

    • 我认为这不适用于图像。我已经在对控件上的 css 文件使用执行替换。我正在尝试访问已嵌入项目/dll 中的嵌入式 javascript 文件中的图像。我的问题是从嵌入式 javascript 中访问嵌入式图像。
    • 嗯,这很奇怪。我们正在从嵌入的 CSS 文件访问嵌入的图像,所以我假设它可以从嵌入的 javascript 文件中工作。我已经编辑了答案以充实示例以防万一。
    • 我怀疑这可能是正确的,但是我们的自定义控件在它实际可以做的事情上非常有限。我接受这个作为答案。
    猜你喜欢
    • 2011-10-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-21
    • 1970-01-01
    相关资源
    最近更新 更多