动态<;标题>;asp.net内联代码中的标记
我遇到了一个奇怪的问题,我正在想办法解决。基本上,我工作的公司使用CMS,它只允许ASP.net的内联代码,并使用“样式”系统来做页眉/页脚之类的事情 现在我的问题是在显示课程信息的某个页面上,我们有一些asp.net代码,它根据上一个链接页面的因素生成页面,即课程搜索页面,然后将您带到您选择的课程 现在我们已经有了糟糕的SEO,我需要能够根据课程搜索中的选择动态创建页面的标题/元标记 问题是对于SEO,我需要标题标签在标题中,但该页面的可识别信息在asp.net代码中,该代码从数据库获取课程信息,并在页面正文中运行 有没有办法获取信息或在标题处运行另一段asp.net代码来设置所需的标记 我道歉,如果这没有多大意义,但我们的CMS系统使一切更加困难,但我无法删除它动态<;标题>;asp.net内联代码中的标记,asp.net,inline-code,Asp.net,Inline Code,我遇到了一个奇怪的问题,我正在想办法解决。基本上,我工作的公司使用CMS,它只允许ASP.net的内联代码,并使用“样式”系统来做页眉/页脚之类的事情 现在我的问题是在显示课程信息的某个页面上,我们有一些asp.net代码,它根据上一个链接页面的因素生成页面,即课程搜索页面,然后将您带到您选择的课程 现在我们已经有了糟糕的SEO,我需要能够根据课程搜索中的选择动态创建页面的标题/元标记 问题是对于SEO,我需要标题标签在标题中,但该页面的可识别信息在asp.net代码中,该代码从数据库获取课程信
谢谢 将占位符放在head标记中,并使用下面的代码从后面的代码添加元标记
HtmlMeta meta = new HtmlMeta();
meta.Attributes.Add("property", "og:title");
meta.Attributes.Add("content", lblBannerTitle.Text.Length > 68 ? lblBannerTitle.Text.Substring(0, 68) : lblBannerTitle.Text);
MetaPlaceHolder.Controls.Add(meta);
这样,您可以拥有任意数量的元标记。
只需确保Title meta tag max length为68,description meta tag max length为148
让我知道它是否适用于您的案例。因此,如果我理解正确,您希望将
和
标记添加到呈现页面的服务器端代码中的
标记吗
如果您使用的是ASP.NET 2.0或更高版本,则可以通过在声明中添加runat=“server”
,将
元素更改为服务器代码可以访问。然后,您可以通过页面的title属性设置标题值
要添加
标记,您需要运行ASP.NET 4.0,它将元关键字
和元描述
属性添加到页面对象
因此,要将这些放在一起,您的页面标记应该包括:
<% Page ... %>
<html>
<head runat="server">
...
</head>
<body>
...
然后应呈现为:
<html>
<head>
<title>My course page</title>
<meta name="description" content="My Page for Course X" />
<meta name="keywords" content="course, education, learning" />
....
我的课程页面
....
我不明白你想做什么。也许一个有一些代码的例子会有所帮助。这就是我想说的,但我认为你已经一针见血了。谢谢你证实我的怀疑。只是补充一句,这已经非常有效了,所以非常感谢你。
<html>
<head>
<title>My course page</title>
<meta name="description" content="My Page for Course X" />
<meta name="keywords" content="course, education, learning" />
....