2013-05-01 150 views
0

我有這段代碼。此代碼是我的菜單項的一部分:asp:圖片不顯示圖片

<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" ... />的代碼。

正如你可以看到我的形象不看。你怎麼看?

問候。

+0

嘗試img_lessons.ImageUrl =「〜/ images/lessons.png」;而不是img_lessons.ImageUrl =「images/lessons.png」; – Rahul 2013-05-01 07:57:14

+0

你在哪裏/如何設置每個鏈接的文本內容?我在你提到的源代碼中看到「本科」,「畢業生」和「教訓」,但你的服務器標記標記和代碼隱藏都不會顯示你設置的位置... – 2013-05-01 07:57:17

+0

@TiesonT我是根據語言選擇從外部文件中獲取文本。 – zkanoca 2013-05-01 08:01:53

回答

2

當你這樣做:

hpl_lessons.Text = lang["MENU_LESSONS"]; 

你是從超鏈接內消滅任何和所有的標記。

編輯:因爲它看起來像你已經有一個<em>標籤,你已經做出了服務器的標籤,這條線:

em_lessons.InnerHtml = lang["MENU_LESSONS"]; 

應該已經被設置可視文本,所以,真的,你只應必須刪除上面提到的行。

+0

謝謝。你指出了這個問題。現在我要去尋找一個解決方案, – zkanoca 2013-05-01 08:14:21

+0

那麼好吧!在評論這個以及其他這樣的行後,我的問題已經消失。再次感謝 – zkanoca 2013-05-01 08:16:47

1

您正在清理時要設置爲.text郎[「MENU_LESSONS」]的超級鏈接的innerHTML

什麼,你需要做的是改變你的標記如下:

<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"]; 
+0

+1:是的你是對的。但不需要額外的文字。 – zkanoca 2013-05-01 09:36:31