Avatar billede Slettet bruger
23. juli 2007 - 02:07 Der er 13 kommentarer og
2 løsninger

Response.Redirect rydder min side

Jeg vil hente noget indhold fra databasen når jeg loader min side. Dette havde jeg ellers tænkt mig skulle foregå således:

void Page_Load(Object Sender, EventArgs E) {
if (!IsPostBack){
Response.Redirect("default.aspx?id=76");
LoadData();
    }
}

Problemet er bare at intet sker og min side står helt tom for indhold. Virker faktisk lidt ligesom den looper fordi der sker heller ingen ændringer i URL'en...
Avatar billede neoman Novice
23. juli 2007 - 02:14 #1
Den side som denne kode ligger på er default.aspx ?? Ja så looper den, ganske som du har bedt den om, og kommer aldrig til LoadData, fordi Response.Redirect til en side får siden til at loade forfra, og er ej en postback.
Avatar billede kalp Novice
23. juli 2007 - 08:45 #2
du kan lave det sådan her - neoman har nemlig helt ret i det han skriver


void Page_Load(Object Sender, EventArgs E) {
if (string.IsNullOrEmpty(Request["hasLoaded"])){
LoadData();
Response.Redirect("default.aspx?id=76&hasLoaded=true");
    }
}

hvis den brokker sig skal der ToString() på første linje

if (string.IsNullOrEmpty(Request["hasLoaded"].ToString())){


men ideen er, at første gang siden kaldes så vil "hasLoaded" parametren ikke findes i url'en.. du opretter den i din page_load metode og redirecter til default.aspx igen, men medsender den parameter der tjekkes på.
Avatar billede Slettet bruger
23. juli 2007 - 13:10 #3
#neoman
Ja det kan jeg jo godt se nu *Duh* - Sådan går det når man programmerer kl. 0200 om natten ;).

#kalp
Har forsøgt begge metoder - men begge giver den samme fejlmeddelse:

Fejlmeddelelse om kompileringsfunktion: CS0117: 'string' indeholder ikke en definition af 'IsNullOrEmpty'

Kildefejl:

Linje 7:  void Page_Load(Object Sender, EventArgs E) {
Linje 8:  if (string.IsNullOrEmpty(Request["hasLoaded"].ToString())){ <--------
Linje 9:  LoadData();
Linje 10: Response.Redirect("default.aspx?id=76&hasLoaded=true");
Avatar billede neoman Novice
23. juli 2007 - 13:14 #4
så mangler du måske dette namespace
using System;
Avatar billede Slettet bruger
23. juli 2007 - 13:22 #5
Øh ja - skær det hellere lige ud i pap for mig... *dum di dum*
Avatar billede kalp Novice
23. juli 2007 - 17:42 #6
okay okay.. troede godt du selv ville kunne regne ud hvad metoden prøver på, men lad mig give dig den sikre så.

void Page_Load(Object Sender, EventArgs E) {
if (Request["hasLoaded"] != null & Request["hasLoaded"].ToString.Trim() != ""){
LoadData();
Response.Redirect("default.aspx?id=76&hasLoaded=true");
    }
}
Avatar billede kalp Novice
23. juli 2007 - 17:43 #7
neoman >> metoden findes ikke i 1.1 hvis det er det han kører - jeg har i hvertfald ikke set den.
Avatar billede neoman Novice
23. juli 2007 - 17:49 #8
Min mindreader er løbet tør for batterier, så.... :-)
Avatar billede kalp Novice
23. juli 2007 - 19:57 #9
rettelse til min egen kode.. manglede lige et tegn.

void Page_Load(Object Sender, EventArgs E) {
if (Request["hasLoaded"] != null && Request["hasLoaded"].ToString.Trim() != ""){
LoadData();
Response.Redirect("default.aspx?id=76&hasLoaded=true");
    }
}
Avatar billede neoman Novice
24. juli 2007 - 12:53 #10
Hva så ? er problemet løst oder was ?
Avatar billede Slettet bruger
24. juli 2007 - 18:22 #11
Nope!

Fejlmeddelelse om kompileringsfunktion: CS0119: 'string.ToString(System.IFormatProvider)' angiver 'metode', som ikke er gyldig i den givne sammenhæng

Kildefejl:
 
Linje 7:  void Page_Load(Object Sender, EventArgs E) {
Linje 8:  if (Request["hasLoaded"] != null && Request["hasLoaded"].ToString.Trim() != ""){<--------
Linje 9:  LoadData();
Linje 10: Response.Redirect("default.aspx?id=76&hasLoaded=true");
Avatar billede kalp Novice
24. juli 2007 - 20:49 #12
if (Request["hasLoaded"] != null && Request["hasLoaded"].ToString().Trim() != "")
        {
            LoadData();
            Response.Redirect("default.aspx?id=76&hasLoaded=true");
        }
Avatar billede kalp Novice
24. juli 2007 - 20:49 #13
Du må gerne tænke selv :D
Avatar billede Slettet bruger
25. juli 2007 - 15:50 #14
Jamen dét må jeg jo så gøre:

Her er hvad jeg fandt fram til:

void Page_Load(Object Sender, EventArgs E) {
    if (!IsPostBack)
    {
        if (!(Request.QueryString["hasLoaded"] == "true"))
        {
            Response.Redirect("default.aspx?id=1&menu=1&hasLoaded=true");
        }
        else
        {
            LoadData();
        }
    }   
    LoadData();
}

klap's eksempel aldrig nåede ned til "LoadData" og viste derfor kun en tomtabel. På denne måde og ved at tilføje &hasLoaded=true til linket virker skidet. I har dog været meget hjælpsomme begge to så jeg vil gerne dele pointene med jer.
Avatar billede neoman Novice
25. juli 2007 - 21:25 #15
her et svar
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