Avatar billede torotune Nybegynder
11. juni 2006 - 23:59 Der er 10 kommentarer og
1 løsning

Tilgå page control fra class

Hej..

Jeg ville lige høre hvordan jeg tilgår en værdi i eks. en textbox
i min form fra en class jeg har liggende i App_code?

Jeg troede jeg kunne lave en:

Inherits System.Web.UI.Page

i min klasse, og så var formens controls registreret.
Avatar billede snepnet Nybegynder
12. juni 2006 - 20:45 #1
Det bør du ikke gøre, men det er sådan set muligt:

Page p = HttpContext.Current.Handler as Page;
if(p != null)
{
  TextBox tb = p.FindControl("someId") as TextBox;
  tb.Text = "blah";
}

Men igen ... det er nok svært at finde en situation hvor det er en god løsningsmodel... Hvad er det du skal?

Mvh
Avatar billede torotune Nybegynder
12. juni 2006 - 22:18 #2
Hej,

Jeg prøver lige dit eksempel. Men det er fordi jeg har en klasse der samler værdier fra flere objekter og indskriver det i databasen, men lige en enkel værdi er statisk og bare lige indholdet af en tekstbox på siden. Men ja, hvis det er mere rationelt kan jeg også bare samle den op inden og smide den ind i et passende objekt ...
Avatar billede snepnet Nybegynder
12. juni 2006 - 22:33 #3
Jeg synes bare du skal sætte værdien ved en parameter på et metodekald.
Mvh
Avatar billede snepnet Nybegynder
12. juni 2006 - 22:34 #4
(eller tilsvarende ... afhængigt af scenariet self.).
Avatar billede torotune Nybegynder
12. juni 2006 - 23:42 #5
Jep, det virker også perfekt. Havde ikke lige tænkt den løsning der lå lige for - men nu ved jeg da hvordan jeg kan tilgå en control hvis jeg skulle komme i den situation :-) Tak for det!
Avatar billede snepnet Nybegynder
13. juni 2006 - 00:02 #6
Det var bestemt så lidt :o)
Mvh
Avatar billede torotune Nybegynder
13. juni 2006 - 00:03 #7
- Men en situation hvor jeg godt kunne bruge din løsning, vil være hvis jeg f.eks. i min klasse der indskriver til databasen indsætter en post hvor primærnøglen viser sig at eksistere i forvejen. Der smides en duplicate key exception, og her skulle jeg så gerne i kontakt med en label eller en validator i min form der kan oplyse om fejlen. Eller er det molbo?
Avatar billede snepnet Nybegynder
13. juni 2006 - 00:12 #8
Ja lidt ... Hvis du tilgår en navngivet kontrol på en form - kan du jo ikke bruge koden fra andre forms (eller andre klasser i det hele taget), og det er uhendsigtsmæssigt med en klasse der jo sådan set gerne skulle kunne levere data til hvad som helst.
Mvh
Avatar billede torotune Nybegynder
13. juni 2006 - 00:23 #9
Ja det er selvfølgelig ikke særlig god stil :-/ Men en dublicate key opdages jo først når jeg forsøger at indskrive til db'en - kan jeg så samle op på en exception fra min form hvis den skulle opstå, eller hvordan plejer man at håndtere den slags?
Avatar billede snepnet Nybegynder
13. juni 2006 - 00:41 #10
Jeps - det kan du sagtens..... Du kan have en helt global errorhandler ved at overskrive     

void Application_Error(object sender, EventArgs e)
{
}

i global.asax.

Du kan også have en generel fejlhåndtering pr. side, og du kan også tilgå din dataklasse i en try/catch

Mvh
Avatar billede torotune Nybegynder
22. juni 2006 - 11:41 #11
Hej igen - det vil jeg lige prøve at kigge på så. Takker for hjælpen!
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