Avatar billede Lars Søndergaard Nybegynder
28. april 2003 - 17:09 Der er 11 kommentarer og
1 løsning

hente værdi fra en textbok

I min "private void Page_Load" indsætter jeg nogle værdier i nogle textboxe sådan her:

text_email.Text = User.Identity.Name;
text_password.Text = c_user.GetPassword();

På siden vil jeg ændre indholdet i en textbox og efter jeg har skrevet et eller andet klikker jeg på submit og følgende metode afvikles:

private void Submit1_ServerClick(object sender, System.EventArgs e)
{
username = text_email.Text;
password = text_password.Text;
bool updated = c_user.UpdateUser( User.Identity.Name, username, password);
UserCreated(username, updated);
}

Hvad kan der være galt siden disse felter ikke opdateres.. jeg gemmer værdierne i database og det skal lige siges at nogle værdier fra nogle DropDownListe uden problemer gemmes. Jeg har udeladt dem her i koden for at gøre det så kort som muligt.
Avatar billede simon.ulsnes Nybegynder
28. april 2003 - 17:20 #1
Hvad er variablerne username og password? Er de deklarerede? Hvorfor laver du dem?
Avatar billede burningice Nybegynder
28. april 2003 - 17:20 #2
har du lavet et PostBack-tjek i din Page_Load
Avatar billede clausjul Nybegynder
28. april 2003 - 18:19 #3
Ja, sådan noget a la i Page_Load:

C#
if (!IsPostBack) {
text_email.Text = User.Identity.Name;
text_password.Text = c_user.GetPassword();
}
Avatar billede burningice Nybegynder
28. april 2003 - 18:22 #4
clausjul>> ?! a hva' skulle det svar til for?
Avatar billede clausjul Nybegynder
28. april 2003 - 19:05 #5
Så vil jeg tillade mig at spørge dig: hvorfor vælger du at kommentere og ikke svare? Jeg ved ikke rigtigt, hvad der er kutyme her..
Avatar billede burningice Nybegynder
28. april 2003 - 19:12 #6
clausjul>> for mig ser/så det ud som om at du siger ja til det jeg spurgte om, ergo var brugeren clausjul og subtile den samme, men det er så ikke tilfældet?
og ang. svar/kommentar (hvad har det egentlig med noget som helst at gøre), så hvorfor svare hvis man ikke ved om ens løsningsforslag er det rigtige ?!
Avatar billede reffak Nybegynder
29. april 2003 - 12:47 #7
cyberfessor> Selvfølgelig skulle du have svaret. Løsningen virker jo ultra-oplagt. Den eneste måde du kan undgå sådanne situationer på, er ved at svare første gang, og inkludere det banale kode-eksempel (for problemet tyder jo på, at subtile ikke er bekendt med PostBack-tjek).
clausjul> Den stinker lidt...jeg ville nok have lagt mit indlæg som en kommentar, hvis jeg var dig - i tanken, at det var en kommentar til cyberfessors løsning.
MVH
Avatar billede burningice Nybegynder
29. april 2003 - 21:12 #8
reffak>> det var jo ikke nogen løsning jeg kom med, kun et simpelt spørgsmål vi kunne arbejde videre mig, hvis det var tilfældet.
Jeg er ikke mut over at clausjul svarer, men da jeg fik det indtryk at vi her havde at gøre med en person og to brugere ville jeg da gerne have en forklaring.
Avatar billede burningice Nybegynder
29. april 2003 - 21:14 #9
... hvorfor kan man ikke bare lægge et svar når spørgeren har fået løst sit problem? Så slipper man også for det pointræs, og tårer over at den forkerte har fået pointene.
Avatar billede reffak Nybegynder
30. april 2003 - 00:07 #10
Problemets løsning synes oplagt, derfor synes jeg bare du skal lægge svaret med det samme. Hvis jeg var spørger, ville jeg have din foreslåede løsning så tidligt som muligt. Og tænk over det : Hvis manden IKKE har lavet et postback check, så kan han sandsynligvis heller ikke forstå dit spørgsmål :-).

Og jo, jeg synes det er et godt system, med at lægge et svar hurtigt. Hurtige løsninger gør det her sted så værdifuldt for en spørger.

Men alt i alt, så er det her vist flueknepperi. Læg svaret, cash in, lets move on.
Avatar billede Lars Søndergaard Nybegynder
30. april 2003 - 10:46 #11
Hej igen.. nej jeg har ikke flere brugere på eksperten og her er hele pageloadmetoden. jeg brude måske ha posted det hele første gang:

private void Page_Load(object sender, System.EventArgs e)
{
if(!IsPostBack)
{
  c_sql = new cls_sql();
  c_user = new cls_user();
  text_email.Text = User.Identity.Name;
  text_password.Text = c_user.GetPassword( User.Identity.Name );
  panel_message.Visible = false;
  DropDownList_Age( User.Identity.Name );
  DropDownList_Target( User.Identity.Name );
}
// Put user code to initialize the page here
}

og her skal jeg hente de ændrede værdier i min textbox:

private void Submit1_ServerClick(object sender, System.EventArgs e)
        {
            string username,password;
            int age,target;
            username = text_email.Text;
            password = text_password.Text;
            age = DropDownList_age.SelectedIndex;
            target = DropDownList_target.SelectedIndex;
            bool updated = c_user.UpdateUser( User.Identity.Name, username, password, age, target);
            UserCreated(username, updated);
        }
Avatar billede Lars Søndergaard Nybegynder
30. april 2003 - 11:06 #12
hehe.. så fandt jeg selv ud af det. Det var fordi min pageload skulle se således ud:

private void Page_Load(object sender, System.EventArgs e)
{

c_sql = new cls_sql();
c_user = new cls_user();

if(!IsPostBack)
{
  text_email.Text = User.Identity.Name;
  text_password.Text = c_user.GetPassword( User.Identity.Name );
  panel_message.Visible = false;
  DropDownList_Age( User.Identity.Name );
  DropDownList_Target( User.Identity.Name );
}

Mine to klasser skulle instantialiseres uden for if-sætningen
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