首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >母版页中的ResolveUrl问题

母版页中的ResolveUrl问题
EN

Stack Overflow用户
提问于 2010-04-06 22:15:20
回答 2查看 18.6K关注 0票数 2

好吧,

我知道这很奇怪,但是当我将这段代码放在<head runat="server"></head>中的master.page中时,它是这样呈现的:

代码语言:javascript
复制
 <link id="ctl00_Link1" rel="shortcut icon" href="../%3C%25%20ResolveUrl(%22~/Resources/Pictures/Shared/Misc/favicon.ico%22);%20%25%3E" type="image/x-icon" />

它没有看到asp.net需要处理的东西。

这是原始代码:

代码语言:javascript
复制
<link id="Link1" rel="shortcut icon" href='<%=ResolveUrl("~/Resources/Pictures/Shared/Misc/favicon.ico") %>' type="image/x-icon" runat="server" />

基本上,Asp.Net没有处理下面的代码,而是将其呈现为普通的html。

我怎样才能克服这个问题?

提前谢谢..。

编辑与解析

好了,伙计们,没办法这么做。我终于明白了这一点,因为ResolveUrl或ResolveClientUrl只适用于以下几个方面:

代码语言:javascript
复制
@import '<%= ResolveUrl("~/Resources/Styles/MainMaster/MainDesign.css") %>';
<script src='Resources/Scripts/Libraries/jquery-1.4.2.js' type="text/javascript"</script>

对于链接来说,它太字面了,所以您需要将链接元素放在主体标记中,如下所示:

代码语言:javascript
复制
<body>
    <link id="iconOne" rel="shortcut icon" type="image/x-icon" href="Resources/Pictures/Shared/Misc/favicon.ico"/>
    <link id="iconTwo" rel="icon" href='Resources/Pictures/Shared/Misc/favicon.ico' type="image/ico" />
</body>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-04-06 23:03:24

因此,您遇到第一个问题的原因是链接标记有runat="server" --这告诉asp.net将其视为服务器控件,而不是文字控件。因为它是一个服务器控件,所以您的scriptlet (<%= %>)并没有真正做任何事情,因为它是一个服务器控件属性,所以它将它作为文字文本处理。

处理这个问题有两种方法。首先是通过ClientScriptManager注册一个启动脚本。这将把你的链接标签放在身体内,这是微软说你应该这么做的方式,但在美学上并不是那么好。另一种选择是在Page_Load中执行类似的操作

代码语言:javascript
复制
var link = new HtmlGenericControl("link");
link.Attributes.Add("rel", "shortcut icon");
link.Attributes.Add("src", ResolveUrl("~/Resources/Pictures/Shared/Misc/favicon.ico"));
link.Attributes.Add("type", "image/x-icon");

Header.Controls.Add(link);

这将以编程方式构建一个控件,然后将其添加到头部上的controls集合中,该集合将呈现为head标记末尾所需的内容。这方面的问题是,这是一个更多的工作,更好的避免与控制集合在后面的代码,如果你可以逃脱它。

票数 4
EN

Stack Overflow用户

发布于 2011-09-02 14:57:56

这可能会使事情变得比需要的复杂一些。您是否尝试过简单地在图标路径中使用~,并设置<head runat="server">

例如:

代码语言:javascript
复制
<head runat="server">
    ...
    <link rel="icon" href="~/Resources/Pictures/Shared/Misc/favicon.ico" 
        type="image/x-icon" />
    <link rel="shortcut icon" href="~/Resources/Pictures/Shared/Misc/favicon.ico"
        type="image/x-icon" />
    ...
</head>

相关答案:不显示

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2588740

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档