HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

A web oldal HEAD szekciójába író webkontrol készítése


Példaprogram letöltése

12650 bájt

A webkontrolok felhasználásával tetszőleges HTML kódot generáltathatunk ASP.NET-es weblapjainkra. Ezek a kontrolok a WebForm-ra helyezésük után mindig a BODY szekcióba írják a HTML kódjukat. A gond csak ott kezdődik, mikor programból kellene adatot írnunk HEAD szekcióba, arra már nem használhatjuk a webkontrolokat, vagy mégis?

Mellékelt példa megnyitása előtt szükséges egy Head nevű virtuális könyvtár létrehozása, mely a példa könyvtárára mutat. Ehhez nyissa meg a mellékelt mappa Tulajdonság ablakát és itt a Webmegosztás lapon engedélyezze a mappa megosztását olvasási és parancsfájlok futtatási jogával.
Legyen a következő a feladat: hozzunk létre egy olyan kontrolt, mely képes arra, hogy a web oldal HEAD szekciójába egy TITLE HTML tag-et írjon tetszőleges értékkel, melyet a kontrol egy property-jében adunk meg.
A megvalósításhoz készítünk egy olyan kontrolt, mely tartalmaz egy string típusú Title nevű property-t, melyben megadható a szükséges szöveg.
    private string title;  
    public string Title 
    {
      get
      {
        return title;
      }
      set
      {
        title = value;
      }
    }
Ezt követően a Render függvényben létrehozzuk a szükséges TITLE HTML objektumot.
    protected override void Render(HtmlTextWriter output)
    {
      output.Write("<title>"+title+"</title>");
    }
Nézzük most a kontrol felhasználását.
Az adott WebForm-nál válasszuk a HTML nézetet, majd a forrás legelejére illesszük be az alábbi hivatkozást, mely létrehoz egy cc1 nevű prefixet ahhoz a DLL-hez, melyben kontrolunk található.
<%@ Register TagPrefix="cc1" Namespace="HeadLibrary" Assembly="HeadLibrary" %>
Ezt követően a HEAD szekcióba helyezzük a hivatkozásunkat a kontrolunkról:
  <HEAD>
    <cc1:HeadControl id="HeadControl1" runat="server"></cc1:HeadControl>
  </HEAD>
Hogy ezt a kontrolt programból is elérhessük, a WebForm1.cs forráskódjában vegyünk fel egy változót:
    protected HeadControl HeadControl1;
Most már a WebForm1.cs bármely pontján elérhetjük e kontrol Title property-jét, melynek értéket adva új szöveg kerül a HEAD szekció TITLE objektumába és ezáltal megváltozik a megjelenő web lap fejlécének szövege.
    private void Page_Load(object sender, System.EventArgs e)
    {
      HeadControl1.Title = DateTime.Now.ToString();
    }
E módszerrel nem csak a TITLE változtatható meg, hanem bármilyen más HTML kódot is elhelyezhetünk programból a HEAD szekcióba.

Könyv
Ez a cikk megtalálható ebben a könyvben: C# Software Offline 2002 évkönyv 640. oldal

Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!

Copyright © 1999-2012 Animare Software Kft. Minden jog fenntartva!
| Készült: Animare Stúdió | Adatvédelem | Kapcsolat |