2010-08-06 8 views
0

J'ai une page maître et j'ai écrit des méta-tags dans masterpage.master.cs. Dans la page de catégorie générée à partir de la page maître, chaque catégorie possède ses propres métabalises. Lorsque l'utilisateur visite category.aspx, je souhaite modifier les métabalises. Tous les méta-tags sont créés dynamiquement et ils n'ont pas d'identifiant ou de runat car je les crée dynamiquement avec une boucle for (lecture des données de la base de données). Donc, je ne peux pas changer le titre de la page et les méta-tags. Comment puis-je faire ceci?Supprimer ou modifier des métabalises dans la page maître


Merci David. Mais si l'utilisateur veut ajouter des balises méta, comment l'utilisateur peut-il le faire? Ma conception DB comme ça et je dois créer des tags avec pour boucle. Est-ce que ce n'est pas bon? http://img843.imageshack.us/img843/6940/metadb.png

Existe-t-il un autre moyen d'écrire ces balises?

@lvo, merci pour la réponse. Mais this.Title ne fonctionne pas. Je l'ai écrit mais rien ne change. Aussi, je n'ai pas mis de littéral ou d'étiquette dans ContentPlaceHolder quelle tête d'ID. Parce que si je mets littéral ou quelque chose et que j'écris des balises meta il y aura 2 description ou mots-clés dans la page. Lequel est OK pour le référencement? Existe-t-il un autre moyen de supprimer toutes les balises META?

Répondre

2

Pour modifier l'utilisation du titre:

this.title

Pour changer la balise META, mettez un espace réservé dans la tête du masterpage.

<head runat="server"> 
<title></title> 
<asp:ContentPlaceHolder ID="head" runat="server"> 
</asp:ContentPlaceHolder> </head> 

Vous pouvez également placer un littéral dans cette espace réservé puis remplissez le « texte » propriété de ce côté serveur littéral avec les méta valeurs de la base de données

+0

+1 c'est exactement son problème, il a besoin des pages enfant pour contrôler les méta-tags dans la page maître. Excellente réponse – Achilles

+0

+1. Je suis d'accord avec Achille, c'est la voie à suivre si vous n'êtes pas prêt à utiliser une autre page principale. – David

1

Modifier votre conception du programme. Les deux premiers choix qui viennent à l'esprit sont:

  1. Ne pas générer les balises META dans une boucle de la DB
  2. Utilisez une autre page maître pour celui-page. < - meilleur choix pour plus de simplicité.

Je sais que cela semble être une réponse cavalière, mais vraiment, pourquoi rendre les choses plus difficiles sur vous-même (et le programmeur de mauvais entretien qui venir après vous) qu'ils doivent être? Rester simple.

+0

+1 J'étais et je suis parfois un mauvais programmeur de maintenance ... Je pleure avant d'aller dormir ... – Achilles

+0

Je parie que vous avez autant d'histoires d'horreur que de programmation de maintenance. :) – David

0

Je résous mon problème. J'ai été marqué métatags dans masterpage.master.cs. Les autres pages générées par cette page master prennent donc toutes les méta-étiquettes de la page principale. Nous ne pouvons déjà pas changer les tags. Peut-être que nous pouvons changer mais je n'ai pas pu trouver de code. J'ai écrit mes méta-tags dans default.cs et d'autres pages sont normales en ce moment. Merci pour les réponses.