如何在ASP.NET网站中添加favicon.ico

39

我的应用程序的解决方案结构如下:

enter image description here

现在我在Login.aspx页面,想要在该页面中添加位于根目录下的favicon.ico。

我的做法是:

<link id="Link1" runat="server" rel="shortcut icon" href="../favicon.ico" type="image/x-icon" />  
<link id="Link2" runat="server" rel="icon" href="../favicon.ico" type="image/ico" /> 

同时我尝试过:

<link id="Link1" runat="server" rel="shortcut icon" href="favicon.ico" type="image/x-icon" />  
<link id="Link2" runat="server" rel="icon" href="favicon.ico" type="image/ico" /> 

但这些都没有起作用。

我已经清除了浏览器缓存,但还是不行。

从以下哪个路径可以找到 favicon.ico:

  • Login.aspx
  • Site.master

谢谢。


登录页面的URL:http://localhost:2873/Pages/Login.aspx,favicon.ico的URL:http://localhost:2873/favicon.ico

我在将代码更改后仍然无法看到favicon.icoenter image description here

<link id="Link1" rel="shortcut icon" href="/favicon.ico" type="image/x-icon" />  
<link id="Link2" rel="icon" href="/favicon.ico" type="image/ico" />

1
你能访问 http://localhost:2873/favicon.ico 吗? - ta.speot.is
@ta.speot.is 是的,它在那里。我可以访问并看到这个ico。 - Tapas Bose
1
http://en.wikipedia.org/wiki/Favicon#Accessibility 建议 type 可能过于复杂。 - ta.speot.is
如果我使用以下代码:<link href="http://cdn.sstatic.net/stackoverflow/img/favicon.ico" rel="shortcut icon" />,那么它可以正常工作。但是,<link href="http://localhost:2873/favicon.ico" rel="shortcut icon" /> 则不行。 - Tapas Bose
10个回答

71
/favicon.ico

这可能会有作用
我已经在我的示例网站上尝试过了

<link rel="shortcut icon" type="image/x-icon" href="~/ows.ico" />

将这个代码放在你的主页上,然后将链接放入MasterPage中,它就可以正常工作 :)

<link rel="shortcut icon" type="image/x-icon" href="~/favicon.ico" />


我已经在FireFox.
enter image description here
Chrome.
enter image description here
Opera.
enter image description here

一些解决方法:
1. 检查您的网站图标是否可以访问(URL正确),在源代码中查找并单击网站图标链接。
2. 每次更改时都要通过 Ctrl+F5 进行完全刷新浏览器。
3. 尝试在stackoverflow上搜索,您可能会在这里找到相关问题的解答。


一些有用的链接:
在ASP.NET MVC中提供favicon.ico
网站图标未显示
为什么网站图标不可见


网站图标已经存在。请查看添加的图片。 - Tapas Bose
如果我使用 <link href="http://cdn.sstatic.net/stackoverflow/img/favicon.ico" rel="shortcut icon" />,那么它是有效的。但是 <link href="http://localhost:2873/favicon.ico" rel="shortcut icon" /> 不行。 - Tapas Bose
嘿Topas,放松一下,逐一尝试我的答案中的建议,对我有效它也会对你有效 :) - Owais Qureshi
糟糕的 :) Firefox缓存造成了问题。删除缓存后程序可以运行。非常感谢您的帮助,我真的很感激。 - Tapas Bose
1
谢谢您提供的链接,第一个链接帮了我很多。 - Alper
显示剩余2条评论

5

我也有相同的问题。我的网址如下所示:

http://somesite/someapplication

以下代码无法正常工作

<link rel="shortcut icon" type="image/x-icon" href="favicon.ico" />

我按照以下方式使其工作

<link rel="shortcut icon" type="image/x-icon" href="/someapplication/favicon.ico" />

1
@user3308043 - 很抱歉您觉得我的回答荒谬。但我只是发布了我解决问题所做的确切事情。这个解决方案已经投入生产,并且在过去的一年中一直运行良好。而且,我从来没有说dotNetSoldier的答案是错误的。我只是发布了我拥有的一个解决方案……我从未说其他人的答案是错误的。 - Ziggler

4

像这样解析URL:href="<%=ResolveUrl("~/favicon.ico")%>"


<link rel="shortcut icon" href='<%=ResolveUrl("~/favicon.ico")%>'> - Eirik H

3

    <link rel="shortcut icon" type="image/x-icon" href="~/favicon.ico" />

这对我很有帮助。如果有人在阅读时进行故障排除 - 我发现当我的 favicon.ico 没有嵌套在根文件夹中时会出现问题。我将它放在了资源文件夹中,那时我很困扰。


2

2

请在MVC的Layout文件底部尝试使用上述代码:@Scripts.Render("~/favicon.ico")

该代码用于渲染网站图标。


2

简单地说:

/favicon.ico

前导斜杠很重要。

谢谢回复。我已经更新了我的问题。/favicon.ico无法工作 :( - Tapas Bose

1
    <link rel="shortcut icon" href="@Url.Content("~/images/")favicon.ico" type="image/x-icon"/ >

这对我在MVC4应用程序中有效,网站图标图片放置在images文件夹中,它将从根目录遍历到images并找到favicon.ico。成功!

0

请确保您的favicon.ico文件大小为16x16、32x32、48x48或64x64像素...例如506x478将无法正常工作。


虽然这是有用的信息,但它并没有回答关于ASP.NET的原始问题,最好将其作为评论。 - Jeremy Caney

0
对我来说,在web.config的下没有指定MIME类型是不起作用的。
<mimeMap fileExtension=".ico" mimeType="image/ico" />

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接