2015-08-25 40 views
1
<td> 
    <a runat="server" href="~/url.aspx"> 
     <img src="<%= ResolveClientUrl("~/images/image1") %>" id="submissions" 
     border="0" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('submissions','','<%= ResolveClientUrl("~/images/image2") %>',1)"></a></td> 

當我嘗試運行帶有runat =「server」 「服務器標記不能包含<%...%>結構。」我在我的代碼試圖將C#代碼背後的Page_Load中是:C# - 我無法從我的代碼背後訪問我的母版頁的img標籤的src屬性

if (Request.Url.AbsoluteUri.Contains("submissions")) 
    submissions.Attributes["src"] = "~/images/image3"; 

的目標是要突出對應於用戶已經訪問該頁面的導航欄的一部分。問題是它不允許我訪問img標籤的src屬性。

回答

1

嘗試

<img src='<%= ResolveClientUrl("~/images/image1") %>' id="submissions" ... 

講究「不」

如果需要從代碼隱藏訪問該標籤 - 最簡單的辦法就是更換<img/><asp:Image runat="server" id="submissions"/>並通過ID主代碼隱藏訪問,但在子頁面 - 使用

Image submissions = (Image)this.Master.FindControl("submissions"); 
+0

它表示「提交」在當前上下文中不存在。如果我將runat =「server」添加到Main.master中的img標記中,那麼我會收到前面提到的解析器錯誤。 – HandleThatError

+0

我理解你了嗎? Img標籤在MasterPage中。你需要從子頁面訪問它? –

+0

Img標籤在MasterPage中。我想要訪問MasterPage.cs中的Img標籤,或者如果這是唯一的方法來訪問子頁面。 – HandleThatError

1

注重正確的逃逸這裏:

onmouseover="MM_swapImage('submissions','','<%= ResolveClientUrl("~/images/image2") %>',1)" 

onmouseover="MM_swapImage('submissions','','<%= ResolveClientUrl(\'~/images/image2\') %>',1)" 
相關問題