这是我遇到的最令人沮丧的问题之一。
在我的登录页面上,我有这个:
<table id="Table2" cellspacing="0" cellpadding="0" align="center" bgcolor="#336699" border="0">
<tr>
<td><asp:hyperlink id="logo" runat="server" ImageUrl="~/images/logon.jpg"
Border="0" NavigateUrl="#" BorderStyle="None"></asp:hyperlink></td>
</tr>
</table>
我们所需要的只是在页面加载后立即显示图像。
没有。它显示红色X.
我也尝试了以下内容,但没有一个可以使用。
<img src="~/images/logon.jpg" width="330" height="75" runat="server" />
和此:
<img src="images/logon.jpg" width="330" height="75" runat="server" />
我在设计模式下可以看到它们,但是当我运行应用程序时,没有图像。
答案 0 :(得分:3)
可能是身份验证问题。在设计模式下,您直接从文件系统中读取。在浏览器中,IIS正在处理请求并从app目录中读取文件。
确保您的web.config中有一个部分允许匿名访问您的images文件夹。
要验证是否存在此问题,请启动Chrome控制台(按F12),然后查看您遇到的错误类型。 404,403等...
编辑
我的意思是这样的:
<location path="images">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>
答案 1 :(得分:1)
答案 2 :(得分:0)
运行您的网站时,您是否尝试过转换图片? I.ewewebsite.com/images/logon.jpg ..? 如果可行,则尝试仅使用img标签显示图像:
<img src="../images/logon.jpg" alt="my image">
如果这不起作用,请尝试在IIS上加载网站,看看它是否有所作为
答案 3 :(得分:0)
我的建议是倒退。
首先,弄清楚应该应该使用哪个URL。通过在浏览器的地址栏中输入图像来正确加载图像。
其次,查看生成的源代码,了解这些URL的分歧。
答案 4 :(得分:0)
在你的网页配置中尝试一下。文件
config.CreateMap<BusinessObject, WebObject>()
.ForMember(d => d.Component, opts => opts.ResolveUsing(b =>
{
return new ComponentBusinessObject()
{
Date = b.Property1.Date,
Definition = b.Property2.Definition // This needs converting from (DefinitionWebObject to DefinitionBusinessObject)
};
}));