0

我有以下代码行:

<asp:HyperLink runat="server" ImageUrl="~/App_Themes/<%=Page.Theme%>/images/buttons/contractqv.png" NavigateUrl="javascript:showhideQuickView()"  ID="ShowHideBirdsEye" ToolTip="Show Hide Workload"></asp:HyperLink>

但是,当我运行我的代码并查看 url 时,它变成了这样:

http://localhost:51309/App_Themes/%3C%25=Page.Theme%25%3E/images/buttons/contractqv.png

知道为什么会这样吗?我不明白

4

2 回答 2

0

正在发生的事情是这些字符不能在 URL 中,因此它们被“编码”为那些带有 % 的奇怪值。<% %> 没有被解释为命令,而是更多的文本

于 2013-11-11T04:29:59.813 回答
0

将您的标记更改为:

<asp:HyperLink runat="server" ImageUrl=  '<%#ResolveUrl(string.Format("~/App_Themes/{0}/images/buttons/contractqv.png", Page.Theme)) %>' NavigateUrl="javascript:showhideQuickView()"  ID="ShowHideBirdsEye" ToolTip="Show Hide Workload"></asp:HyperLink>

如果超链接在任何数据绑定容器内,它将正常工作。否则,您必须将其添加到Page_Load

ShowHideBirdsEye.DataBind();

上面的代码已经过测试并且可以工作。希望能帮助到你!

于 2013-11-11T04:31:41.853 回答