【发布时间】:2011-01-22 16:15:13
【问题描述】:
我有以下代码:
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 name="verify-v1" content="AtroutoUUTAiOHzlmZOap4a5YdzOByK5v9bzwpzPy60=" />
现在你可能会问我为什么要这样做。我正在使用 DotNetNuke CMS,我需要一种方法让最终用户在后端代码中输入查询所需的参数。我似乎无法在 url 中添加任何内容,例如链接中的查询字符串以访问页面,所以我尝试了一个元标记,因为他们可以在 dnn 的页面(选项卡)的设置中添加它。
我尝试在标签中省略 id 而只是名称,但同样的问题。
我正在寻找一种简单且非资源密集型的解决方案。
任何对此的见解或 dnn 或 ASP.net 中的解决方法都会很棒。
提前致谢。
【问题讨论】:
-
并且meta header标签是用runat="server" 定义的?
-
我没有在我的模块中创建页面,我只是使用选项卡的 dnn 设置将元数据添加到页面中。当我查看源代码时,它就在那里。
标签: asp.net dotnetnuke meta-tags