我正在尝试将用户控件中的图像和样式表移动到程序集的嵌入资源中。我使用Reflector查看了图像和.css文件已经被嵌入到程序集中,但是当我尝试使用ClientScript.GetWebResourceUrl()创建的URL访问它们时,无法找到该资源。我困惑了。
程序集默认命名空间:
文件的路径(标记为BuildAction:Embedded Resource)为:
为了简化,我目前只是尝试引用图像而不是样式表。在我的用户控件的Page_Load中,我将Image控件的ImageUrl设置为资源URL:
如果我在浏览器中导航到该URL,我会得到一个404错误,即找不到该资源。我做错了什么吗?
编辑: 我一定是没有理解某些基本的东西和/或者我做了一些非常愚蠢的事情。 这里有一个简单的VS 2010示例。我已经按照我知道的所有必需步骤来嵌入JScript1.js并通过WebResource.axd访问它,但它出现了错误。
程序集默认命名空间:
TestWebApp
文件的路径(标记为BuildAction:Embedded Resource)为:
TestWebApp/Resources/CSS/PaymentHistory.css
TestWebApp/Resources/Images/loading.gif
因此,我的资源已注册为:
[assembly: WebResource("TestWebApp.Resources.CSS.PaymentHistory.css", "text/css", PerformSubstitution = true)]
[assembly: WebResource("TestWebApp.Resources.Images.loading.gif", "image/gif")]
访问资源的用户控件(在同一程序集中):
TestWebApp.UserControls.PaymentHistory
为了简化,我目前只是尝试引用图像而不是样式表。在我的用户控件的Page_Load中,我将Image控件的ImageUrl设置为资源URL:
image1.ImageUrl = Page.ClientScript.GetWebResourceUrl(this.GetType(), "TestWebApp.Resources.Images.loading.gif");
运行时,一切似乎没有错误,但是它呈现了一张损坏的图片。这是呈现出来的图片源代码:
<img style="border-width:0px;" src="/WebResource.axd?d=8fC_1tLPjrUCxmFc_Q2MKY0-pHAak-sTWkpLLV3D56H_c08LujXC63ia2PNICE65_i-Q4JqprAigLpbrXG-rIAr6ePO4HHcdQKgdd3szlThv2gizxOJLJsPRNe-b_M6ApTwPsH_5oZAuONTN0cumOTRr1nA1&t=635133745137507721" id="ph1_image1">
如果我在浏览器中导航到该URL,我会得到一个404错误,即找不到该资源。我做错了什么吗?
编辑: 我一定是没有理解某些基本的东西和/或者我做了一些非常愚蠢的事情。 这里有一个简单的VS 2010示例。我已经按照我知道的所有必需步骤来嵌入JScript1.js并通过WebResource.axd访问它,但它出现了错误。