Pergunta

Eu tenho o seguinte código:

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;
    }

Eu criei esta meta tag personalizada:

<meta id ="CategoryID" name="CategoryID" content="35" />

Eu passo pelo código e quebro em if (meta.Name == "CategoryID")

Ele chega à meta tag antes disso, mostra meta.name = "" depois sai do loop. Ele nunca vê minha meta tag personalizada.

A tag antes deste é: <meta name="verify-v1" content="AtroutoUUTAiOHzlmZOap4a5YdzOByK5v9bzwpzPy60=" />

Agora você pode perguntar por que eu faria isso. Estou usando o DOTNETNUKE CMS, preciso de uma maneira de o usuário final colocar um parâmetro necessário para uma consulta no código de back -end. Parece que não consigo colocar nada no URL, como um consultor fora do link para chegar à página, então tentei uma meta tag, pois eles podem adicionar isso nas configurações da página (guia) no DNN.

Eu tentei deixar de fora o ID na etiqueta e apenas o nome, mas o mesmo problema.

Estou procurando uma solução intensa simples e não -recursos.

Qualquer percepção disso ou solução alternativa no DNN ou ASP.NET seria ótima.

Desde já, obrigado.

Foi útil?

Solução 2

Minha solução funciona, é o processo de como a página é renderizada no DotNetnuke.

Outras dicas

Como você está adicionando os meta -controles à página? Como a tag "Verificar-V1" é realmente adicionada à página?

Pergunto porque os controles normais de HTML não aparecem na coleção de controles, a menos que eles tenham runat="server" na declaração deles, ou eles são adicionados à página dinamicamente através do seu código .NET.

Se sua marcação se parece mais disso:

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

Então você não seria capaz de encontrar o meta -controle da maneira que está tentando.

Você deve deixar de fora o ID da tag, pois isso não é suportado pela especificação.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top