Avatar billede anewbis Nybegynder
31. januar 2006 - 14:31 Der er 13 kommentarer og
1 løsning

Markering af tekst ved AutoPostBack

Jeg har to spørgsmål:

Spørgsmål 1:
Jeg er med på at bruge Page.SetFocus() til at komme til den relevante kontrol i forbindelse med AutoPostBack - problemet er blot at teksten ikke bliver markeret. I stedet står cursoren bare der og blinker.

Spørgsmål 2:
Hvad er den nemmeste måde at sørge for at der hoppes i mellem kontroller samtidig med at der laves autopostback? Gerne konkrete løsninger og helst så simple som mulige.

Mange tak for hjælpen!!
Avatar billede anewbis Nybegynder
31. januar 2006 - 14:52 #1
Jeg foretrækker løsninger i C#.
Avatar billede dr_chaos Nybegynder
31. januar 2006 - 15:00 #2
du kan ikke markere text fra codebehind på den måde.

Den simpleste måde at hoppe mellem kontroller vil være at lave et array med kontrolnavne og så hoppe til næste plads i arrayet ved postback.

Eller
give dine kontroller id'er som 1,2,3 osv. og hoppe til den næste kontrol.
Avatar billede anewbis Nybegynder
31. januar 2006 - 15:09 #3
Tak for feedback!

Jeg har lige fået det til at virke med SetFocus og OnTextChanged, det virker også okay. Hvordan kan man ellers markere teksten i en kontrol?
Avatar billede anewbis Nybegynder
31. januar 2006 - 15:11 #4
Desuden har jeg et andet lille problem:

Der er ingen grund til at den henter hele siden ved hvert eneste AutoPostBack, er der en måde hvorpå der kun opdateres enkelte dele af en webside i forbindelse med AutoPostBack
Avatar billede dr_chaos Nybegynder
31. januar 2006 - 15:15 #5
ja men det kræver nok lidt ekspert viden.
Bruger du asp.net 2.0 ?
Avatar billede dr_chaos Nybegynder
31. januar 2006 - 15:19 #6
du kan bruge
string script = @"<script type='text/javascript'>document.getElementById('" + TextBox1.ClientID + "').focus();document.getElementById('" + TextBox1.ClientID + "').select();</script>";
       
            Page.RegisterStartupScript("test",script);
til at markere tekst i codebehind i asp.net 1.1 og

string script = @"<script type='text/javascript'>document.getElementById('" + testText.ClientID + "').focus();document.getElementById('" + testText.ClientID + "').select();</script>";
        ClientScript.RegisterStartupScript(this.GetType(), "test1", script);
i asp.net 2.0
Avatar billede dr_chaos Nybegynder
31. januar 2006 - 15:21 #7
hvis du bruger asp.net 2.0 kan du bruge ajax til at lave store sider uden postback.
På den måde kan de fungere ligesom google suggest:

http://www.asp.net/default.aspx?tabindex=7&tabid=47
Avatar billede dr_chaos Nybegynder
31. januar 2006 - 15:22 #8
Det er stadigvæk i beta men jeg bruger det til nogle små ting.
I den nuværende release er der nogle problemer med response.redirect.
Men det er løst i den version.
Avatar billede anewbis Nybegynder
31. januar 2006 - 16:03 #9
mange tak, jeg kigger på det. Jeg mener ellers at der skulle være en funktion i .Net der tillader asynkron refresh.
Avatar billede anewbis Nybegynder
31. januar 2006 - 17:07 #10
ja jeg bruger asp 2.0, men jeg bliver nødt til at anvende AutoPostBack...
Avatar billede dr_chaos Nybegynder
31. januar 2006 - 19:06 #11
Der er en funktion der tillader det.
Men updatepanel fra atlas framework gør det hele meget nemmere
Avatar billede anewbis Nybegynder
02. februar 2006 - 11:08 #12
Jeg har kigget på Atlas og det ser godt ud, jeg er dog stadig nysgerrig efter at finde navnet på funktion der tillader delvis update med AutoPostBack.

Tak for hjælpen indtil videre :)
Avatar billede anewbis Nybegynder
02. februar 2006 - 14:35 #13
EnableViewState = "true" ville have udløst de 60 point med det samme, men tak for din hjælp!
Avatar billede anewbis Nybegynder
02. februar 2006 - 14:36 #14
...
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