Åbn HTML fil i MasterPage? Hjæælp :)

Tags:    asp.net

Hej,

Jeg prøver at lave et CMS, hvor WYSIWYG gemmer koden som html filer,
men efter at have siddet med armene i vejret i 5 minutter slog det mig
pludseligt - Hvordan får jeg dem nu vist i min masterpage!? -.-'

jeg har nu siddet og bakset i lang tid med,
at finde ud af hvordan man gør, men uden held.

NB. Det skal loades i masterpagen, fordi menuen er dynamisk og loades fra databasen.

Kan det lade sig gøre?
Hvis ja, hvordan? o.O
Hvis nej, hvad er mine alternativer? :|



Indlæg senest redigeret d. 09.01.2011 07:21 af Bruger #14181
Hej Daniel,

Jeg har lidt svært ved helt at gennemskue dit spørgsmål, men umiddelbart lyder det for mig som at du blot kan læse HTML filen, fx via File klassen, og derefter assigne indholdet til en control der tager imod HTML, fx en Literal control eller hvad der nu passer ind i dit scenarie. Lyder det ikke som en mulighed?

Mvh.

Kasper (TSW)



Hej Daniel,

Hvis du er igang med at lave et CMS system der arbejder med filer, bliver det en del kompliceret at lave det ønskede. Men det kan da gøres som Kasper selv er inde på. Hvis du skal bruge filer, skal du gemme HTML'en i filerne med Stream muligheder og for at vise indholdet, skal du bruge LiteralControl, som derved kan vise dem HTML du henter ud.

Men hvis du nu skal lave et rigtigt CMS system, vil det da klart være en del smartere at gemme din data i en database i stedet for i filer. Databasen er jo den korrekte persistering af data, hvor arbejde med filer ikke er særlig smart. Du skal tænke på, hvis du på et tidspunkt bruger system med Load balacing, så er der to servere som arbejder med samme løsning. Derved skal du samtidig til at lave logik der sørger for at systemerne er identiske hvad angår filer du gemmer. Den problematik slipper du for med database. Det er bare en af mange fordele ved databaser, hvorfor jeg synes du skal skifte dit valg fra filer ud med muligheden med database.

I databasen kan du blot gemme HTMLen du vil vise og så fremvise indholdet i en LiteralControl, Label, Literal, ja mulighederne er mange :)




Jeg ved ikke om du har opgivet eller er kommet videre med det, men du kan gemme teksten i en txt fil som denne guide viser
http://bytes.com/topic/net/insights/673819-write-read-text-file-c

Hvor du så har en <div id="Indhold" runat="server"></div>

Hvor du så i koden har din Indhold.InnerHtml += "Teksten fra filen" som så laver det om til html.

Men som Lars skriver så er en database meget bedre, især hvis det er en side som du forventer at der skal komme en del besøgende på.?
Så det vil nok være bedst at bruge en MSSQL database frem for en Access DB



Du har en xxxx.master fil hvor i du definerer en eller flere såkaldte contentplaceholders.

F.eks. som her:

Fold kodeboks ind/udKode 


Alle dine sider som skal bruge din masterpage skal så henvise til masterpagen med MasterPageFile="xxxx.Master"

Og du kan også lave en contentplaceholder med et indhold som er anderledes end i din masterpage:

Fold kodeboks ind/udKode 




Indlæg senest redigeret d. 24.03.2011 22:09 af Bruger #9814
t