ASP.NET - 图像未显示

时间:2009-08-24 21:10:17

标签: asp.net image

我在母版页上放了一张图片。

我在设计时看到了图像。

但是我没有在运行时看到图像。

可能是什么问题?

我试图将图像放在图像框上。但它也没有用。

<%@ Master Language="C#" AutoEventWireup="true" CodeBehind="MasterPage.master.cs" Inherits="Ice_Web_Portal.UI.MasterPage" EnableTheming="true" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>.::ICE Web Portal::.</title>
    <link href="App_Themes/SmokeAndGlass/SmokeAndGlass.css" rel="stylesheet" type="text/css" />
</head>
<body >
    <form id="form1" runat="server">
        <table style="position: static">
            <tr>
                <td align="left" colspan="2">
                    <asp:Image ID="Image1" runat="server" ImageUrl="~/App_Themes/Banner.JPG" /></td>
                <td>
                </td>
            </tr>
            <tr>
                <td rowspan="2">
                    <div>
                    &nbsp;</div>
                    &nbsp;</td>
                <td style="width: 3px">
                    <asp:LoginView ID="LoginView1" runat="server">
                        <LoggedInTemplate>
                            <table style="width: 204px">
                                <tr>
                                    <td>
                                        Login Status :</td>
                                    <td>
                    <asp:LoginStatus ID="LoginStatus1" runat="server" />
                                    </td>
                                    <td>
                                    </td>
                                </tr>
                                <tr>
                                    <td>
                                        Login Name :</td>
                                    <td>
                    <asp:LoginName ID="LoginName1" runat="server" />
                                    </td>
                                    <td>
                                    </td>
                                </tr>
                                <tr>
                                    <td>
                                    </td>
                                    <td>
                                    </td>
                                    <td>
                                    </td>
                                </tr>
                                <tr>
                                    <td>
                                    </td>
                                    <td>
                                    </td>
                                    <td>
                                    </td>
                                </tr>
                            </table>
                        </LoggedInTemplate>
                    </asp:LoginView>
                </td>
                <td>
                </td>
            </tr>
            <tr>
                <td style="width: 3px">
                    <asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">
                    </asp:ContentPlaceHolder>
                </td>
                <td>
                </td>
            </tr>
            <tr>
                <td>
                    &nbsp;</td>
                <td style="width: 3px">
                </td>
                <td>
                </td>
            </tr>
        </table>
    </form>
</body>
</html>

11 个答案:

答案 0 :(得分:10)

听起来您可能有某种URL映射问题...对于ImageURL属性,请尝试将其设置为“〜/ Images / MyImage.png” ...

不是直接将图像存储在App_Theme文件夹中,而是为图像创建一个文件夹并尝试使用它。 App_Theme目录的处理方式不同......

答案 1 :(得分:2)

这听起来像Relative Paths in Master Pages给我的问题。解决方案是tilda(〜)字符,它表示根文件夹,无论内容页面位于何处。

我刚刚测试了你的代码,它对我有用。

您是否尝试过使用多种网络浏览器? (也许是一个缓存问题?)
你在代码隐藏中操纵图像吗?

答案 2 :(得分:2)

我认为您的图像文件在运行时无法访问。

只需将此代码粘贴到您的web.config文件中,即可显示图像。

<?xml version="1.0" encoding="utf-8"?>
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
</configuration>

答案 3 :(得分:1)

这是相对路径问题,请将样式表更改为:

<link href="~/App_Themes/SmokeAndGlass/SmokeAndGlass.css" rel="stylesheet" type="text/css" runat="server"/>

答案 4 :(得分:1)

我知道这是一个很长时间的问题,但我现在碰巧看到它,我想与大家分享我如何解决我的挑战:

只需在web.config中替换波纹管代码,然后按图示

放置图像路径

    <location path="Image Path">
    <system.web>
    <authorization>
    <allow user="*"/>
    </authorization>
    </system.web>
    </location>

希望有所帮助

答案 5 :(得分:0)

嗯......好像很好。您是否尝试使用普通的HTML标记,例如

<img src="<sourceToImage>/App_Themes/Banner.JPG"/>

..只是看看是否有效。

另一个问题可能是UPPER-case“JPG”扩展(虽然我不知道这是否真的重要)。

检查样式表是否对图像执行某些操作。

答案 6 :(得分:0)

简单。

  1. Images文件夹中创建文件夹Project
  2. 放置您的图片,例如logo.jpg,位于Images文件夹
  3. 返回您的项目,在您的图片属性中提供相对路径,即ImageURL~\Images\hlogo.jpg
  4. 然后,您的图像将显示在网络浏览器中。

答案 7 :(得分:0)

我有同样的问题,它是权限,只需检查显示在网络表单中的图像,并将相同的权限复制到img不显示。

答案 8 :(得分:0)

在IIS 7中安装ASP.NET模块时,默认情况下不会安装静态内容。您需要进入程序和功能,然后“打开或关闭Windows功能”。

在IIS部分下,深入了解WWW服务,常见Http功能,并选中“静态内容”。

如果没有该css,图像,html和其他非动态内容将不会显示。

答案 9 :(得分:0)

我在2012 R2上使用IIS 8.5的VB.NET应用程序遇到了类似的问题。我必须专门添加我的图片扩展名(.jpg,.png)到“请求过滤”#39;对于IIS 8.5中的默认站点。

答案 10 :(得分:0)

尝试以下格式:

("../App_Themes/Banner.JPG")