<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>
当我尝试使用添加到我的img标记的runat =“server”运行此代码时,我得到一个分析器错误,上面写着“服务器标签不能包含&lt;%...%&gt;构造”。我在我的代码后面的Page_Load中尝试的C#代码是:
if (Request.Url.AbsoluteUri.Contains("submissions"))
submissions.Attributes["src"] = "~/images/image3";
目标是突出显示与用户已访问的页面对应的导航栏部分。问题是它不允许我访问img标签的src属性。
答案 0 :(得分:1)
尝试
<img src='<%= ResolveClientUrl("~/images/image1") %>' id="submissions" ...
注意&#39;不是&#34;
如果您需要从CodeBehind访问此标记 - 最简单的方法是将<img/>
替换为<asp:Image runat="server" id="submissions"/>
,并在ID中替换Master代码隐藏,但在子页面中 - 使用
Image submissions = (Image)this.Master.FindControl("submissions");
答案 1 :(得分:1)
注意在这里逃跑:
onmouseover="MM_swapImage('submissions','','<%= ResolveClientUrl("~/images/image2") %>',1)"
onmouseover="MM_swapImage('submissions','','<%= ResolveClientUrl(\'~/images/image2\') %>',1)"