Adicionando título em contentplaceholder adiciona segundo tag título vazia

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

  •  21-08-2019
  •  | 
  •  

Pergunta

A minha página principal tem uma contentplaceholder na marca de cabeça.

Porque eu quero o título da minha página para representar a função da página atual e porque eu quero o título a ser traduzido na linguagem do usuário Eu adicionei uma tag title em contentplaceholder da cabeça da página. Todos alegre e bom, exceto que agora aparece um segundo, tag título vazio que fora do curso não é válido.

Alguma idéia de como resolver isso?

Foi útil?

Solução

Eu corri para o mesmo problema e encontrou um solução que parece funcionar. É bastante hacky, mas ao mesmo tempo muito simples. Basta adicionar outra tag title na cabeça, colocar um atributo runat = "server" no seu interior e, em seguida, configurá-lo de visibilidade para false:

<title visible="false" runat="server"><%-- hack to turn the auto title off --%></title>

Outras dicas

De acordo com a W3C especificação :

documento Cada HTML deve ter um elemento TITLE na secção HEAD.

Portanto, a plataforma ASP.Net está em conformidade com normas e adicionando uma tag title vazio para sua página para ajudar você a atingir marcação válida -. Ele não sabe que você está prestes a adicionar um a um espaço reservado de conteúdo

De acordo com ASP.Net clássico suas opções são:

  1. Use a directiva @page Título para definir o conteúdo desta tag
  2. Use a propriedade Page.Title do seu código por trás para definir o valor de programação.

Se você estiver usando ASP.Net MVC, o arquivo Site.Master padrão tinha o seguinte texto padrão:

<title><%= Html.Encode(ViewData["Title"]) %></title>

E o controlador padrão teve:

ViewData["Title"] = "Home";

dentro do resultado de ação, novamente permitindo acesso programático para o título da página.

Geralmente eu uso o espaço reservado para conteúdo HeadContent para adicionar scripts de estáticos página específicos e links CSS.

Não é um atributo da directiva @ page chamado Título para definir o título da página. Ele também está disponível acessível como uma propriedade no controle da página.

Você não precisa declarar explicitamente uma dentro da tag através titular do lugar conteúdo.

Pelo menos é para páginas básicas ASP.NET usando MasterPages. Não tão certo para ASP.NET MVC.

Limpar o atributo runat = "server" na masterpages tag

Ao que parece a melhor maneira de definir o título seria usar o attritube título na declaração de marcação aqui:

<%@ Page Title="PAGE NAME HERE" Language="C#" MasterPageFile="~/Controls/MasterPage/MasterPage.master"
AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="Default" %>

ou simplesmente colocá-lo em page_load com

Page.Title = "Your page title"

Hope isso um pouco.

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