Как получить пользовательский метатег на странице? - PullRequest
0 голосов
/ 02 марта 2010

У меня есть следующий код:

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.

Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 02 марта 2010

Как вы добавляете мета-элементы управления на страницу?Как на самом деле добавляется тег «verify-v1» на страницу?

Я спрашиваю, потому что обычные HTML-элементы управления не отображаются в коллекции Controls, если в их объявлении нет runat="server" или они не добавленына страницу динамически через ваш код .NET.

Если ваша разметка выглядит примерно так:

<meta name="CategoryID" value="<%=categoryId%>" />

Тогда вы не сможете найти мета-контроль так, как вы

Вы должны пропустить идентификатор тега, так как это не поддерживается спецификацией.

0 голосов
/ 09 марта 2010

Мое решение работает, это процесс отображения страницы в DotNetNuke.

...