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

StackOverflow https://stackoverflow.com/questions/2362452

  •  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 name="verify-v1" content="AtroutoUUTAiOHzlmZOap4a5YdzOByK5v9bzwpzPy60=" />

Теперь вы можете спросить, зачем мне это делать.Я использую DotNetNuke CMS, мне нужен способ для конечного пользователя ввести параметр, необходимый для запроса, в серверный код.Кажется, я не могу вставить что-либо в URL, например строку запроса от ссылки, чтобы перейти на страницу, поэтому я попробовал мета-тег, поскольку они могут добавить это в настройках страницы (вкладки) в dnn.

Я попытался оставить идентификатор в теге и просто имя, но та же проблема.

Я ищу простое и не ресурсоемкое решение.

Любое понимание этого или обходной путь в dnn или ASP.net было бы здорово.

Заранее благодарю.

Это было полезно?

Решение 2

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

Другие советы

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

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

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

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

Тогда вы не смогли бы найти мета-элемент управления так, как вы пытаетесь.

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top