Avatar billede krestenbanke Nybegynder
24. april 2010 - 20:20 Der er 4 kommentarer og
1 løsning

Generering af kuponer med ens layout

Hej,

Jeg skal på et skærmbillede generere flere "kuponer", der har samme layout. Kuponerne har tekstfelter/labels, der indeholder forskellig information - layout og felter er derfor de samme, men indholdet af felter skal sættes individuelt.

En måde at gøre dette på er at lave en metode, der tilføjer de enkelte felter til et Panel, og så visse dette.
I forhold til layout bliver dette ikke specielt fleksibelt, og jeg tænker derfor, at man måske kan lave en UserControl hvor xml'en indeholder de felter, jeg skal bruge, og tilføje dette flere gange til et  panel. Vil dette være muligt, når man skal sætte indholdet på felterne dynamisk??

-Altså, kan jeg lave et layout af felter i VS og "generere" kopier af dette og sætte ind på en side.

Håber I forstå problemet/ønsket?
Avatar billede Syska Mester
24. april 2010 - 22:48 #1
Ja, det kan du godt.

Lav den ... load den ... populate den.

var v = (CustomControl)LoadControls("~/somepath.ascx");

og så har du jo her adgang til din Control.

Muligheder er uenlige synes jeg.

Men kommer an på mange ting ... hvordan brugeren også tilføjer flere af dem etc.

mvh
Avatar billede krestenbanke Nybegynder
24. april 2010 - 23:04 #2
Tak for svar!

Lad os sige at der er en TextBox "tboxSomething" på controllen, og at jeg vil sætte teksten på den. Hvordan gør jeg det? -Altså, hvad gør jeg for at få fat i controller, der ligger på usercontrollen?
Avatar billede krestenbanke Nybegynder
24. april 2010 - 23:12 #3
Det fandt jeg ud af:


var v = (MyControl)LoadControl("~/MyControl.ascx");

TextBox tboxName = (TextBox)v.FindControl("tboxSomething");

tboxName.Text = "Knud";

Panel1.Controls.Add(v);


Tak for hjælpen, det var lige det, jeg manglede!

Smid et svar!.
Avatar billede Syska Mester
24. april 2010 - 23:27 #4
Men hvis du endelig skal gøre sådan ... ville jeg nok mene det var bedre at lave nogen Properties på din UC.

Så du ikke skal ud i FindControl etc. så du bare kan gøre:

v.Name = "Knud"

og i code behind på din UC.

public string Name
{
get
{
return tboxSomething.Text;
}
set
{
tboxSomething.Text = value;
}
}

For at holde din kode pænere.

mvh og svar.
Avatar billede krestenbanke Nybegynder
24. april 2010 - 23:34 #5
Perfekt!
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