【问题标题】:How to change url logo at run time如何在运行时更改 url 徽标
【发布时间】:2020-02-11 05:07:35
【问题描述】:
 <head>
     <title id="Title" runat="server"></title>
     <link id="TitleLogo" runat="server" rel="shortcut icon" href="Images/TM32.ico"/>  
 </head>

在这里,我在 head 标签标题中添加了要添加图像的链接。我想在运行时更改它。

【问题讨论】:

  • 到目前为止你尝试过什么?请编辑您的问题以提供有关您正在尝试的内容和遇到的问题的更多详细信息,并删除 c# 或 vb.net 标记。
  • 此代码是否在 MasterPage 中?

标签: c# asp.net vb.net


【解决方案1】:

我假设您使用的是母版页,因此您可以在运行时使用Master.FindControl 更改Href

(Master.FindControl("TitleLogo") as HtmlLink).Href = "Images/TM33.ico";

【讨论】:

  • 谢谢selim,但我没有使用母版页。
  • 请发布任何其他解决方案。
  • 那么你不能在 .cs 中只使用 TitleLogo.Href = "Images/TM33.ico"; 吗?
  • 我想要它用于 .vb
【解决方案2】:

添加“runat”和“id”字段后,您应该可以在任何生命周期方法的代码中作为 HtmlGenericControl 访问它。

C#

protected HtmlGenericControl TitleLogo;

private void Page_Load(object sender, System.EventArgs e)
{
   if(!Page.IsPostBack)
   {
      TitleLogo.Attributes["href"] = "Images/TM33.ico";
   }
}    

在 VB 中

    Protected TitleLogo As HtmlGenericControl

    Private Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
        If Not Page.IsPostBack Then
            TitleLogo.Attributes("href") = "Images/TM33.ico"
        End If
    End Sub

【讨论】:

  • 你能说得更具体些吗?你有错误吗?你是说图标没变?请务必查看 HTML 源代码,因为您会发现快捷方式图标已被浏览器缓存。
  • 实际上在检查头部图像中的页面时已将其添加到 href 标记中,但未显示在浏览器中。
  • 您会发现快捷方式图标在大多数浏览器中被积极缓存,因为它在正常情况下很少更改。如果可以的话,尝试使用不同的浏览器或不同的计算机进行测试(如果您的开发环境允许,甚至可以使用不同的 URL)。
猜你喜欢
  • 2014-07-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-15
  • 1970-01-01
  • 1970-01-01
  • 2018-03-04
相关资源
最近更新 更多