我有以下代码:

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,因为这不属于该规范的支持。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top