在Asp.net中使用用户控件时不显示图像

时间:2015-02-01 08:45:44

标签: asp.net user-controls

我的项目(asp.net)中有一个用户控件,它有一个图像。它有以下代码:

 <%@ Control Language="C#" ClassName="Header" %>
 <asp:Panel ID="Panel1" runat="server">
        <img alt="The Night Owl" 
            src="../Images/bookshelf.jpg" 
            width="800" height="110"/>
    </asp:Panel>
    <asp:Panel id="menuPanel" runat="server">
        <a href="../Default.aspx">Home</a> |
        <a href="../Titles.aspx">Titles</a> |
        <a href="../Authors.aspx">Authors</a> |
        <a href="../Publishers.aspx">Publishers</a>
    </asp:Panel>

我可以在用户控件中看到图像,但是当我在default.aspx页面中使用它时,它不会显示图像。我的default.aspx代码是:

<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>
<%@ Register src="~/controls/Header.ascx" tagname="Header" tagprefix="uc1" %>
<!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>The Night Owl</title>
    <link href="styles.css" rel="Stylesheet" type="text/css"/>
</head>
<body>
    <form id="form1" runat="server">


    <uc1:Header ID="Header1" runat="server" />
    <h1><span lang="en-us">Home Page</span></h1>
    <asp:Panel runat="server">
        Welcome to The Night Owl, where all of 
        your technical needs are met!
    </asp:Panel>
    </form>
</body>
</html>

1 个答案:

答案 0 :(得分:0)

由于src="../Images/bookshelf.jpg"页面中的default.aspx无法加载,因此用户控件不能很好地引用图像,除非您指定整个路径或页面和用户控件位于同一文件夹中, 您的UC位于子文件夹中,但默认页面不在, 更改src之类的~/subf/subf1/img.jpg

如果该页面与UC位于同一文件夹中,则src将起作用。 但如果它们不在同一个文件夹中,您应该像我提到的那样更改src

Path的内容。