Avatar billede jps6kb Novice
24. april 2013 - 09:59 Der er 16 kommentarer og
1 løsning

Dynamisk design i ASP.NET

Hej med jer,

Er der nogen der har en god indgangsvinkel til, hvordan man kan gøre designet i en masterpage redigerbart?
Jeg kunne godt tænke mig, at kunne ændre det markup der er i masterpagen runtime vha. en editor.

Any takers?
Avatar billede keysersoze Guru
24. april 2013 - 11:08 #1
Det lyder farligt medmindre brugeren virkelig har styr på hvad der laves - masterpagen er jo bare en fil og kan derfor åbnes i enhver editor, fx tinymce, men måske kunne noget som webparts også løse udfordringen?
Avatar billede jps6kb Novice
24. april 2013 - 11:18 #2
Ja det er helt korrekt.
Jeg forklarer mig måske heller ikke godt nok.
Det jeg kunne tænke mig var, et system, hvor man kunne lave designet runtime. I stedet for, at masterpagen ligesom låste hvordan siden generelt ser ud, kunne jeg tænke mig, at det blev genereret runtime - men jeg har faktisk ingen ide om, hvordan det gøres - og om det overhovedet er masterpage jeg skal bruge så.
Avatar billede olebole Juniormester
24. april 2013 - 14:36 #3
<ole>

Altså et framework à la .NET til at styre dit .NET-framework? Jeg er ikke sikker på, det er en særlig meningsfuld idé ... eller har jeg måske misforstået, hvad idéen går ud på(?)  =)

/mvh
</bole>
Avatar billede jps6kb Novice
24. april 2013 - 14:48 #4
Hej Ole, det jeg mangler er, en måde at gøre designet mere frit på.
Jeg kan jo sagtens lave et CMS-agtigt system til at styre indholdet på de forskellige sider. Jeg kan også godt lave dynamiske CSS-filer osv.
Men jeg er fortsat låst af f.eks. masterpagen.
Det jeg leder efter, er en ny indgangsvinkel - eller en måde, hvorpå jeg kan gøre indholdet (html'en) i masterpagen dynamisk.
Avatar billede olebole Juniormester
24. april 2013 - 15:08 #5
Jeg tror ikke, jeg forstår, hvad du mener med 'dynamisk'. Hvad er det præcist, du ønsker at gøre?
Avatar billede kalp Novice
24. april 2013 - 16:30 #6
Du kan evt. se på Umbraco som gør det du spørger om. Det er et open source ASP.NET CMS system.
http://umbraco.com/

Du kan sagtens utrolig nemt rette i din MasterPage.

Hent markup koden fra din MasterPage og smid det ind i en TextBox control.
TextBox.Text = File.ReadAllText([PATH_TIL_DIN_MASTERPAGE_MARKUP_FIL_HER]);

Når skal gemme ændringerne skal du blot.
File.WriteAllText([PATH_TIL_DIN_MASTERPAGE_MARKUP_FIL_HER], TextBox.Text);

men altså, det er ikke særlig kønt og ikke ligefrem noget der anbefales:)
men hvis det er til dit eget brug så er det vel fint nok.

Det kan være du bliver så glad for Umbraco at du slet ikke behøver din egen løsning mere xD
Avatar billede kalp Novice
24. april 2013 - 16:34 #7
olebole >

Jeg tror personen tror at en MasterPage bliver kompilleret om til en DLL fil.
Den vil man ikke kunne rette i.

Selve markup filerne - altså .master, .aspx, ascx ect ligger dog i ren tekst.
Dem kan man sagtens åbne på serveren og rette i direkte.

Det er selvfølgelig ikke smart at gøre, men man kan sagtens :)
Avatar billede olebole Juniormester
24. april 2013 - 17:29 #8
Ja, det kan det godt - men det virker ikke særlig hensigtsmæssigt. Formålet med en masterpage er jo netop at levere en låst ramme. Det er en ret væsentlig feature  =)
Avatar billede jps6kb Novice
24. april 2013 - 19:14 #9
I misforstår mig... jeg leder efter en indgangsvinkel til at håndtere designet/layout'et så det IKKE er låst, som det er i Masterpage.
Jeg er helt med på, at den ikke bliver kompileret.

Kort og godt, hvilken indgangsvinkel vil være bedst, hvis man vil lagre grund-designet i en DB f.eks. og kunne rette det løbende.
Avatar billede keysersoze Guru
24. april 2013 - 21:47 #10
Webparts.
Avatar billede olebole Juniormester
24. april 2013 - 22:21 #11
#10: Præcis
Avatar billede arne_v Ekspert
25. april 2013 - 03:59 #12
Jeg forstaar ikke helt hvad du leder efter.

Du kan rette indhold i en web app paa 2 maader:

1) en developer retter i noget kilde kode og builder/deployer - konkret kan du rette i master page eller content oages

2) en ikke-developer retter i en fil/database vaerdi typisk gennem en GUI - det hedder et CMS

Enten eller.

Web parts er vel bare en web app som er en aggregering af flere web apps, hvor ovenstaaende kan anvendes baade paa de enkelte web apps og paa aggregeringen.
Avatar billede ComitoKeld Nybegynder
01. maj 2013 - 08:18 #13
Lav en masterpage der afvikler al code behind, lav så en nested masterpage og smid kilden fra denne ind i en editor.
Avatar billede ComitoKeld Nybegynder
01. maj 2013 - 08:19 #14
og den nestede skal selvfølgelig ikke have nogen code behind

<%@ Master Language="C#" MasterPageFile="~/FrontEndShared/Templates/BaseMasterTemplate.Master" AutoEventWireup="true"  %>
Avatar billede jps6kb Novice
01. august 2013 - 21:16 #15
Hov - jeg havde ikke fået flere mails på dette spm. Mærkeligt.
Men ja, det kunne jeg selvfølgelig gøre.
Jeg vil lige lave et par tests med det.
Avatar billede jps6kb Novice
11. december 2013 - 22:29 #16
Det førte ikke til noget... bugger...
Avatar billede keysersoze Guru
11. december 2013 - 22:32 #17
kiggede du overhovedet på webparts?
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
Kurser inden for grundlæggende programmering

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