Ich versuche, eine Set-Metadaten programmgesteuert festlegen.Setzen von Title-Tags mit asp.net
Ich habe folgendes Setup auf meiner asp.net Masterseite:
<asp:ContentPlaceHolder ID="MetaTags" runat="server">
<meta name="description" content="">
</asp:ContentPlaceHolder>
und ich diese dann auf einer einzelnen Seite:
<asp:Content runat="server" ContentPlaceHolderID="MetaTags">
<title runat="server" id="pageTitle"></title>
<meta runat="server" id="pageDescription" name="description"/>
<meta runat="server" id="pageKeywords" name="keywords" />
</asp:Content>
Und diese in der C# -Code:
pageTitle.InnerText = "TITLE";
pageDescription.InnerText = "DESC";
pageKeywords.InnerText = "KEY";
Welche generiert dies auf der Seite:
<title id="ctl00_MetaTags_pageTitle">TITLE</title>
<meta id="ctl00_MetaTags_pageDescription" name="description">DESC</meta>
<meta id="ctl00_MetaTags_pageKeywords" name="keywords">KEY</meta>
Ich bin es so zu tun, weil mein Verständnis ist, weil ich benutze:
<asp:ContentPlaceHolder ID="MetaTags" runat="server">
ich einen <head>
Tag auf einzelnen Seiten nicht haben kann - weil es doppelte Header-Tags verursacht?
Ich habe versucht, mit:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="index.aspx.cs" Inherits="###" MasterPageFile="#####" Title = ""%>
und in C# Page.Title = "Title"
aber nichts an hat.
Und separat Master.Page.Title = "Title";
aber entweder nicht funktioniert hat.
Also, 2 Teile zu meiner Frage;
1.Kennt jemand eine andere Möglichkeit, Metadaten programmgesteuert zur Seite hinzuzufügen.
2. Wenn ich es auf diese Weise tun, und die Meta-Daten hat ids zB:
<title id="ctl00_MetaTags_pageTitle">TITLE</title>
Enthält diese den Titel-Tag ungültig.