J'utilise ASP.NET avec MasterPages. Ainsi, je ne peux pas simplement placer ce lien dans mes pages qui font référence à mon MasterPage. Je dois placer ce lien dans ma charge de la page de chacune de mes pages. Comment ferais-je cela via le code? J'utilise vb.net mais c # m'aidera également dans la bonne direction. P> C'est comme ça que je l'ai fait pour ma balise de description dans mon code derrière. P> Dim tag As HtmlMeta = New HtmlMeta()
tag.Name = "description"
tag.Content = "Find or rate any company in South Africa for FREE and rate them"
Header.Controls.Add(tag)
6 Réponses :
Pourquoi ne pas créer votre élément canonique en tant que contrôle du serveur: puis manipule l'objet canonique dans votre page de page (ou de page maître). Les balises génériques sont traitées comme des instances de htmlgenericcontrol code> qui permet de définir des attributs arbitraires: p>
C'est ce que j'ai fait, je place votre lien dans ma balise d'en-tête Masterpage. Mais puis de ma page normale, votre code ne fonctionne pas. Il ne ramasse pas l'attribut canonique.
Voir la réponse de Danrichardson ( Stackoverflow.com/Questtions/1398821/... ) Pour accéder à un contrôle de page maître de la page.
Selon la réponse de Richard, dans votre code de page, vous devrez faire référence à la page principale.
Essayez: ou l'équivalent VB :) p> p>
J'ai la configuration suivante.
Créer une classe qui hérite de system.web.ui.page comme une classe de type "basepage". p>
Ajoutez une méthode à celle-ci: p>
public partial class MyPage : BasePage { protected void Page_Load(object sender, EventArgs e) { // Or however you're generating your canonical urls string cannonicalUrl = GetCannonicalUrl(); AddHeaderLink(cannonicalUrl, "canonical", string.Empty, string.Empty); } }
C'est ce que je devais faire ..................
Dim seoTag As HtmlLink = New HtmlLink() seoTag.Attributes.Add("rel", "canonical") seoTag.Href = "http://www.erate.co.za/" Header.Controls.Add(seoTag)
essayer d'utiliser: Créez d'abord une classe de base de base comme celle-ci:
<a href="http://www.dowebpage.com">Michele - MMSoftware </a>
Voici ce que j'ai fait: Dans la page Master nommée "MasterPage.master" The The The The The The The The The The The The The The The The Contentplaceholder, comme ceci:
<asp:Content ID="Content1" runat="server" ContentPlaceHolderID="forcanonical"> <link rel="canonical" href="http://theCanonicalUrl.com" /> </asp:Content>