c# -我不能'从我的代码后面访问我的主页'的img标签'的src属性

本文关键字:我的 主页 img 属性 src 访问 标签 代码 不能 | 更新日期: 2023-09-27 18:09:44

<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"添加到我的img标签,我得到一个解析器错误,说"服务器标签不能包含<%…%>结构。"我尝试的c#代码在我的代码后面的Page_Load是:

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

目标是突出显示导航栏中与用户已经访问的页面相对应的部分。问题是它不允许我访问img标签的src属性。

c# -我不能'从我的代码后面访问我的主页'的img标签'的src属性

Try

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

注意"not"

如果您需要从CodeBehind访问此标签-最简单的方法是将<img/>替换为<asp:Image runat="server" id="submissions"/>,并且在主代码隐藏访问中使用ID,但在子页面中-使用

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

注意右转义:

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