如何检索页面中的自定义meta标签?
-
23-09-2019 - |
题
我有以下代码:
List<HtmlMeta> metas = new List<HtmlMeta>();
foreach (Control c in this.Page.Header.Controls)
if (c.GetType() == typeof(HtmlMeta))
{
HtmlMeta meta = (HtmlMeta)c;
if (meta.Name == "CategoryID")
strMeta = meta.Content;
}
我创建这个定制元标记:
<meta id ="CategoryID" name="CategoryID" content="35" />
通过在if (meta.Name == "CategoryID")
它得到的元标记这个节目然后之前meta.name =“”然后退出循环。它从来没有看到我的自定义meta标签。
此一前的标记是:<meta name="verify-v1" content="AtroutoUUTAiOHzlmZOap4a5YdzOByK5v9bzwpzPy60=" />
现在你可能会问我为什么要这么做。我使用的DotNetNuke CMS,我需要为最终用户将在需要在后端代码的查询参数的方式。我似乎无法把任何东西在url,像查询字符串关闭链接到页面,所以我尝试了meta标签,因为它们可以在页面(标签)在DNN的设置中添加这一点。
我曾尝试在标签,只是名字,但同样的问题离开了ID。
我要寻找FORR一个简单的和非资源紧张的解决方案。
任何了解本或DNN或ASP.net替代方法将是巨大的。
预先感谢。
解决方案 2
我的解决方案工作,它是的网页在DotNetNuke的渲染过程。
其他提示
你是如何加入元控件的页面?如何在“验证-V1”标签实际添加到页面?
我问,因为普通的HTML控件不Controls集合中出现,除非他们有runat="server"
在他们的声明,或者是通过动态.NET代码添加到页面上。
如果您的加价看起来是这样的:
<meta name="CategoryID" value="<%=categoryId%>" />
然后,你将无法找到元控制您要的方式。
您应该离开了标签的ID,因为这不属于该规范的支持。
不隶属于 StackOverflow