17. august 2004 - 14:53Der er
8 kommentarer og 1 løsning
Hvordan gør man opbytte en side
Jeg er igang med at skifte fra ASP til ASP.NET. Jeg prøver at finde den bedste måde, jeg kan opbygge mine sider, så jeg kan genbruge så meget så muligt på de forskellige sider.
Jeg har i første omgang opbygget sider nogenlunde sådan her:
1.aspx.vb ---------- Imports System.Web.UI.UserControl Public Class cPageInfo : Inherits System.Web.UI.UserControl Public title As String Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) 'her skal "title" hentes med et databaseopslag title = "Testside" End Sub End Class ----------
Her har jeg prøvet at genbruge variablen "title" både i head og i body. Problemet er bare, at hvis jeg gør det på denne måde, vil system lave to databaseopslag for at finde siden "title". Hvad kan jeg gøre, for at undgå det, og kun lave et databaseoplag? Er der nogen, der har et bedre foreslag til, hvordan jeg hellere skal opbygge siden.
Ja, jeg plejer at bruge "include file", og det virker også perfekt. Men det vil jeg gerne udover. Jeg vil gerne lære at gøre det på denne måde. Nogle idéer? Det kan ikke passe, at jeg er den første, der har dette problem - det virker ret grundlæggende.
hvis det "bare" ønsker at få adgang til en given værdi kan du f.eks. angive det i dine contexitems... Altså hvis du f.eks. skriver følgende i request_begin :
Men der er mange måder at gøre det på.... Du kan også lave dig en baseklasse for dine formklasser, og så lade den hente det der nu skal hentes, og populere det i properties ell.
jada - koden står nu bare som visual studio plejer at lave det.
// her en base public class SomePageBase : Page { private string _pageTitle;
// her så den property du kan bruge i dine speciealiserede klasser public string PageTitle { get{return _pageTitle;} }
protected override void OnInit(EventArgs e) { // her kan du så initialisere en variabel med et eller andet _pageTitle = "Godmorgen"; // skulle så nok være noget med at hente i db base.OnInit (e); } }
// her bare en eller anden side public class tniels : SomePageBase { private void Page_Load(object sender, System.EventArgs e) { // her høster du bare fra den property der ligger på basen Response.Write(PageTitle); }
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.