Avatar billede Slettet bruger
28. august 2006 - 15:15 Der er 3 kommentarer og
1 løsning

Meta tags og nedarvning

Hejsa,

Jeg skal lave en web-applikation, hvor de enkelte sider under en
master page, skal kunne sætte meta tags dynamisk.
På nuværende tidspunkt gøres dette vha. en placeholder i selve
master page og så noget html i en content holder i de enkelte
sider.

Men jeg kunne godt tænke mig, at der blev lavet lidt mere
dynamisk - altså fx. sådan, at:

- De enkelte sider nedarver fra en klasse, hvor de enkelte meta
tags defineres og at man så kan sætte disse dynamisk til netop
den valgte side.

- Der skal vel stadig benyttes en placeholder i master page?

Kan dette lade sig gøre?
Avatar billede Slettet bruger
28. august 2006 - 15:33 #1
P.S. Jeg er egentlig ude efter en måde at få oprettet en form for kontrol i den klasse de andre nedarver fra.

Jeg har fx. lavet:

public class BaseClass : System.Web.UI.Page
{
    private string metaDescription;
   
    public BaseClass()
    {}

    public string MetaDescription
    {
        get { return metaDescription; }
        set { metaDescription = value; }
    }
}

Og en side, der bedarver fra denne:

protected void Page_PreInit(object sender, EventArgs e)
    {
        this.MetaDescription = "Dette er en beskrivelse af sideindholdet";
    }
   
    protected void Page_Load(object sender, EventArgs e)
    {}

Nu da meta description kan sættes dynamisk på de enkelte sider, ville det så være super-fedt, hvis der bare kunne refereres til en form for kontrol, der så kunne holde den dynamisk satte metadescription.

Kan man oprette en sådan kontrol i den øverste klasse og lade de andre referere/benytte denne kontrol på de enkelte sider?
Avatar billede websam Nybegynder
28. august 2006 - 17:41 #2
Jeg har lavet et setup der ligner noget af det du vil :

1. Jeg bygger mine sider i form af forskellige moduler.

2. I mine moduler bruger jeg flere steder samme metoder. Dem har ligget i et library sammen med en bunke andre metoder.

3. Metoden som kalder den/de metatags jeg skal bruge ligner noget i stil med :

namespace blabla
{
  public class metaInfo
  {
    //Mine fields og properties
  }

  public interface metaInterface
  {
    public metaTags(metaInfo objInfo);
  }

  internal class Metoder : metaInterface
  {
    public metaTags(metaInfo objInfo)
    {
      //Noget kode der så trækker i en tabel i databasen afhænnigt af
      //hvad jeg har med i mine variabler i metoden
    }
  }
}

det hele var bare lige fra hoften og som eksempel så der er sikkert nogle fejl her og der, men det giver da en idee ;o)

/Websam
Avatar billede Slettet bruger
29. august 2006 - 10:08 #3
Hejsa, og tak for din kommentar.
Det du er ude i der virker en smule for avanceret til at jeg sådan lige kan gennemskue hvad det er jeg skal bruge og ikke mindst, ikke bruge :-)

Jeg har som sagt en opsætning, hvor selve html-koden er i en placeholder i head-sektionen i masterpage.

<meta http-equiv="content-type" content="text/html; charset=utf-8" />
    <meta name="robots" content="index,follow" />
    <meta http-equiv="Content-language" content="DA" />
    <meta name="author" content="Author" />
    <meta name="description" content="Dette er en test" />
    <meta name="keywords" content="test mereTest" />

Disse tags kan så laves dynamiske, hvor indholdet af fx. description hentes fra en property i .cs filen i masterpage.

På hver enkelt side kan denne property i masterpage så sættes dynamisk, hvorefter meta description ændres for hver enkeltstående side.

Men jeg ville gerne væk fra denne model, og gerne over i en model, hvor hver side havde den egentlige html-kode i form af meta-tags, men hvor denne kode automatisk var indsat pp hver ny side der oprettes.

Det er her mit problem opstår, for hvordan laver jeg dette?
Jeg troede så måske, at dette kunne laves med en form for nedarvning, hvor en base class genererede de nødvendige kontroller, der så automatisk blev indsat på de enklelte sider og herefter dynamisk kunne fyldes med relevant indhold på sideniveau.

Kan dette lade sig gøre?
Avatar billede Slettet bruger
16. oktober 2007 - 16:49 #4
lukket
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

IT-JOB

Unik System Design A/S

DevOps Engineer

AL Sydbank A/S (tidligere Arbejdernes Landsbank)

Afdelingschef til GDPR & Tech Regulation

Forsvarsministeriets Materiel- og Indkøbsstyrelse

IT-Sikkerhedsrådgiver til Cyberdivisionen i Hvidovre

Ennova A/S

Senior Developer