Avatar billede torotune Nybegynder
14. januar 2006 - 18:14 Der er 9 kommentarer og
1 løsning

Værdi fra ASCX til ASPX

Hej,

Hvis jeg på min ASPX-side har en en UserControl, hvorpå der findes en WebControl, lad os bare sige en textbox. Hvordan jeg så hente textbox'ens værdi ind på min aspx-side.

Hvis vi nu siger:

- at der på min .aspx findes en label (lblText)
- og i min .ascx findes txtTextBox1 og en button (btnHent)

Så vil jeg gerne gøre sådan at når der skrives en text i TxtTextBox1 og trykker på btnHent, så vises den skrevne text i lblText på min .aspx.

Mvh.
Avatar billede snepnet Nybegynder
14. januar 2006 - 18:19 #1
du kan enten gøre kontrollen du vil have fat i public (ikke anbefalet) eller lave en property på konrolklassen der giver dig adgang til det du skal bruge (anbefalet).

public string IndtastetTekst
{
  get{return this.txtTextBox1.Text;}
}

så kan du tilgå værdien fra din form:

string tekst = dinKontrolInstans.IndtastetTekst;

mvh
Avatar billede dr_chaos Nybegynder
14. januar 2006 - 18:19 #2
i din usercontrol kan du lave en property til textboxen

public string testText
{
get {return this.txtTextBox1.Text;}
Set {txtTextBox1.Text = value;}
}

på aspx side laver du så bare lblText.Text = usercontrolnavn.testText;
f.eks. i pageload
Avatar billede snepnet Nybegynder
14. januar 2006 - 18:22 #3
nøj hvor er du bare langsom idag chaos ;o)
Avatar billede dr_chaos Nybegynder
14. januar 2006 - 18:24 #4
iih ja hele 11 sekunder :P
Avatar billede snepnet Nybegynder
14. januar 2006 - 18:25 #5
hehe :o)
Avatar billede torotune Nybegynder
15. januar 2006 - 20:48 #6
Hej, ja tak det var hurtigt :-)

Men jeg kan ikke helt få det til at virke. Min beskrivelse var kun for at lave et enkelt eksempel, men jeg har en dropdownmenu i min UserControl, som jeg henter ind på min aspx med ID'et "DrpMenu".

Jeg har oversat jeres eksempel da jeg skriver på VB'sk, så jeg har noget i stil med:

I min UserControl:

      Public ReadOnly Property testText() As String
    Get
      Return Me.DropDownMenu.SelectedValue
    End Get
      End Property 

På min ASPX i PageLoad:
     
      LblFejl.Text = DrpMenu.TestText

Men der sker intet nå jeg vælger noget i DropDownMenu'en, og jeg har sat AutoPostBack til True. Hvad kan være galt?
Avatar billede snepnet Nybegynder
15. januar 2006 - 20:57 #7
det er ikke så anvendeligt at sætte det i page_load.... du har et par forskellige andre muligheder, og det er lidt et spørgsmål om hvordan din side skal fungere, og hvornår du har brug for den valgte værdi.

det mest almindelige er nok at du har en knap på din form, og har en handler til den.
her kan du så få værdien fra din usercontrol, med samme kode som du selv har skrevet (der bør du så have autopostback=false på din dropdownlist).

mvh
Avatar billede torotune Nybegynder
29. januar 2006 - 17:53 #8
Hej Snep! Har været på ferie og vil gå igang med projektet hurtigst muligt igen. Smid et svar indtil da, så vil jeg vende tilbage hvis jeg får problemer igen. :-)
Avatar billede snepnet Nybegynder
29. januar 2006 - 17:54 #9
håber du har haft en god ferie ... bare spørg løs her, hvis der skulle være noget omkring det :o)
mvh
Avatar billede torotune Nybegynder
16. februar 2006 - 17:16 #10
Mange tak. Her, indtil videre :-)
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