asp:图像不显示图像

时间:2013-05-01 07:47:25

标签: c# asp.net visual-studio-2010

我有这个代码。此代码是我的菜单项的一部分:

<li class="" id="fifth-li">
    <ul style="visibility: hidden; display: none;" id="fifth-ul">
        <li><asp:HyperLink ID="hpl_undergraduate" runat="server"></asp:HyperLink></li>
        <li><asp:HyperLink ID="hpl_graduate" runat="server"></asp:HyperLink></li>  
    </ul>
        <asp:HyperLink ID="hpl_lessons" runat="server">
        <asp:Image ID="img_lessons"  runat="server" />
        <strong></strong>
        <em id="em_lessons" runat="server"></em>
        </asp:HyperLink>
</li> 

这是我的.cs代码文件的一部分:

em_lessons.InnerHtml = lang["MENU_LESSONS"];
hpl_lessons.Text = lang["MENU_LESSONS"];
hpl_undergraduate.Text = lang["MENU_UNDERGRADUATE"];
hpl_graduate.Text = lang["MENU_GRADUATE"];

hpl_lessons.NavigateUrl = "lessons.html";
hpl_undergraduate.NavigateUrl = "lessons-801.html";
hpl_graduate.NavigateUrl = "lesson-802.html";
img_lessons.ImageUrl = "images/lessons.png"; //Here the image url is defined.

此代码适用于我的网页菜单。还有一些这样的项目。我将代码添加到代码隐藏的img_lessons对象上。但在运行页面后,我得到了这段代码:

<li class="" id="fifth-li">
    <ul style="visibility: hidden; display: none;" id="fifth-ul">
        <li>
            <a id="MainContent_hpl_undergraduate" href="lesson-801.html">
                Undergraduate
            </a>
        </li>
        <li>
            <a id="MainContent_hpl_graduate" href="lesson-802.html">
                Graduate
            </a>
        </li>  
    </ul>
    <a id="MainContent_hpl_lessons" href="lessons.html">
        Lessons
    </a>
</li>

我在想,如果我在img_lessons之间提取<asp:HyperLink></asp:HyperLink>,则会显示图像。但没办法。我已将代码更改为更清洁。

重点不在于图像路径,而在于一些程序性的无能/不便。因为我在浏览器的代码视图中看不到<img id="MainContent_img_lessons" ... />代码。

你可以看到我的图像看起来不像。你怎么看?

问候。

2 个答案:

答案 0 :(得分:2)

执行此操作时:

hpl_lessons.Text = lang["MENU_LESSONS"];

您正在消除超链接内部的任何和所有标记。

编辑:因为看起来您已经有一个<em>标记,您已经建立了服务器标记,所以这一行:

em_lessons.InnerHtml = lang["MENU_LESSONS"];

应该已经设置了可见文本了,所以,实际上,您只需要删除上面提到的那一行。

答案 1 :(得分:1)

当您将.Text设置为lang时,您正在清除超链接innerHTML [&#34; MENU_LESSONS&#34;]

您需要做的是更改您的标记,如下所示:

<asp:HyperLink ID="hpl_lessons" runat="server">
    <asp:Image ID="img_lessons"  runat="server" />
    <strong><asp:Literal ID="lit_lessons"/></strong>
    <em id="em_lessons" runat="server"></em>
</asp:HyperLink>

然后更改您的代码,使其显示为

lit_lessons.Text = lang["MENU_LESSONS"];