代码之家  ›  专栏  ›  技术社区  ›  user366312

ASP.NET-图像未显示

  •  6
  • user366312  · 技术社区  · 16 年前

    我在母版页上放置了一个图像。

    我在设计时看到了这个图像。

    但我在运行时看不到图像。

    有什么问题?

    我试图把图像放在图像框上。但也没用。

    <%@ 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>
    
    10 回复  |  直到 7 年前
        1
  •  10
  •   RSolberg    16 年前

    听起来你可能有某种URL映射问题…对于ImageURL属性,尝试将其设置为 “~/images/myimage.png”

    与其将图像直接存储在app_theme文件夹中,不如为图像创建一个文件夹,然后尝试使用它。应用程序主题目录的处理方式不同…

        2
  •  2
  •   Greg    16 年前

    听起来像是 Relative Paths in Master Pages 对我来说。解决方案是tilda(~)字符,它表示根文件夹,而不管内容页位于何处。

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

    你用多个网络浏览器试过吗?(可能是缓存问题?)
    你在操纵代码中的图像吗?

        3
  •  2
  •   Mat    13 年前

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

    只需将此代码粘贴到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>
    
        4
  •  1
  •   Cleiton    16 年前

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

    <link href="~/App_Themes/SmokeAndGlass/SmokeAndGlass.css" rel="stylesheet" type="text/css" runat="server"/>
    
        5
  •  1
  •   Abraham1973    8 年前

    我知道这是一个长期的问题,但我现在正好看到了,我想和大家分享我如何解决我的挑战:

    只需在web.config中替换下面的代码,并将图像路径如图所示。

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

    希望有帮助

        6
  •  0
  •   Juri    16 年前

    嗯。看起来很好。你试过使用普通的HTML标签吗?

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

    …只是想看看是否有效。

    另一个问题可能是大写的“JPG”扩展(尽管我不知道这是否真的很重要)。

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

        7
  •  0
  •   newfurniturey    12 年前

    简单。

    1. 创建文件夹 Images 在你的内心 Project 文件夹。
    2. 将图像(如logo.jpg)放在 图像 文件夹
    3. 回到您的项目,在您的图像属性中提供相对路径,即 ImageURL 作为 ~\Images\hlogo.jpg .

    然后,您的图像将显示在Web浏览器中。

        8
  •  0
  •   Bachask8    12 年前

    我也有同样的问题,那就是权限,只需检查显示在Web表单中的图像,并将相同的权限复制到不显示的IMG。

        9
  •  0
  •   JF Gagnon    8 年前

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

    在IIS部分下,深入到WWW服务、常见的HTTP功能,并检查“静态内容”。

    如果没有这些CSS、图像、HTML和其他非动态内容,就不会显示出来。

        10
  •  0
  •   SoConfused    7 年前

    我的vb.net应用程序在2012 R2上使用了IIs8.5,我也遇到了类似的问题。我必须特别添加我的图像扩展名(.jpg,.png)到“请求过滤”为我的默认网站在IIS 8.5。

    推荐文章