二十四画生的Blog


        ——开始学习Orchard框架
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

[DNN学习所得]显示网站图标

Posted on 2005-05-17 20:18  二十四画生  阅读(3238)  评论(6编辑  收藏  举报

  “网站图标”——就是在地址栏中或收藏夹中显示的图标。像什么雅虎中国就有。
  其实要做到这一点并不难,只需要在页面的HTML Header中增加:<link rel="Shortcut Icon" href="favicon.ico"> 强制要求浏览器请求这个图片即可。
  今天在看DNN代码时发现DNN居然也有这个功能(DNN考虑的真全面呀!)。我们只需要用网站管理员的身份登录在文件管理中把图标文件以favicon.ico的文件名形式将文件上传到根目录即可。(注:要上传.ico文件需要将主机设置中允许上传的文件扩展名项中添加ico文件选项)
实现功能如下:

在DNN中的实现方式:
1、在Default.aspx文件中添加

<asp:placeholder id="FAVICON" runat="server"></asp:placeholder>

后台代码向里面添加控件(这种方式还可以用来由后台向页面写JavaScript脚本,用来控制不允许页面复制,禁用右键等,这可以在主机设置信息中添加设置项,又是一个可改进的小地方
2、在其后台页面中:

Private Sub ManageFavicon()
    
' 从缓存中读取网站图标的地址
    Dim strFavicon As String = CType(DataCache.GetCache("FAVICON" & PortalSettings.PortalId.ToString), String)
    
If strFavicon = "" Then
       
' 如果网站图像的地址存在
       If File.Exists(PortalSettings.HomeDirectoryMapPath & "favicon.ico"Then
           strFavicon 
= PortalSettings.HomeDirectory & "favicon.ico"
           If Not Common.Globals.PerformanceSetting = Common.Globals.PerformanceSettings.NoCaching Then
               
' 当设置需要缓存时将信息写入缓存 
               DataCache.SetCache("FAVICON" & PortalSettings.PortalId.ToString, strFavicon)
           
End If
       
End If
    
End If
    
' 当网站图像的连接地址不等于空时,将它添加到页面中
   If strFavicon <> "" Then
       
' 添加一个LINK标签HTML控件
       Dim objLink As HtmlGenericControl = New HtmlGenericControl("LINK")
       
' 设置rel属性为SHORTCUT ICON
       objLink.Attributes("rel"= "SHORTCUT ICON"
       ' 设置图标路径
       objLink.Attributes("href"= strFavicon
       
' 将LINK添加到FAVICON控件中
       Dim ctlFavicon As Control = Me.FindControl("FAVICON")
       ctlFavicon.Controls.Add(objLink)
   
End If
End Sub


另外首页中还有许多meta标签,今天也查了一下它的用途,共享一下给大家分享:
Meta标签详解>>

更多相关内容>>