为什么我的图像没有出现在登录页面上?

时间:2013-02-21 17:01:15

标签: asp.net vb.net

这是我遇到的最令人沮丧的问题之一。

在我的登录页面上,我有这个:

   <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" />

我在设计模式下可以看到它们,但是当我运行应用程序时,没有图像。

5 个答案:

答案 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)

还要确保在Windows 10中设置IIS时选中了“静态内容”:

enter image description here

Internet信息服务->万维网服务->通用HTTP功能->检查静态内容

enter image description here

并验证:

enter image description here

感谢同事(MMA和CL)

答案 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)
        };
    }));