Avatar billede websphere Nybegynder
04. august 2004 - 16:40 Der er 7 kommentarer og
2 løsninger

Hvordan henter jeg en værdi fra URL'en

Jeg har en række links som hver især "peger" på den samme sider men med forskellige id. Fx. default.aspx?id=145

hvordan henter jeg den parameter jeg skal bruge for at hente det rigtige data fra min default.aspx.cs?

På forhånd tak
Avatar billede tomjelen Nybegynder
04. august 2004 - 16:45 #1
Hvis jeg forstår problemet rigtigt, så er det Request.QueryString["id"] du leder efter i dit eksempel.
Avatar billede snepnet Nybegynder
04. august 2004 - 17:06 #2
Og det kan være en fordel hvis du i din kode giver dig en "sikker" adgang til variablen f.eks. sådan her :

protected int Id
{
    get
    {
        return (object)Request.QueryString["id"] != null ? int.Parse(Request.QueryString["id"]) : <defaultværdi>;
    }
}
Avatar billede repsak Nybegynder
05. august 2004 - 21:27 #3
helt sikkert en god idé at lave 'sikker' tilgang, men hvis en klient synes at det er sjovt at udskifte paremetrene så vil systemet højst sansynligt kaste en exception med ovenstående property.

id=belastende_når_folk_ændrer_i_mine_parametre
Avatar billede snepnet Nybegynder
08. august 2004 - 12:48 #4
En exception - hvor skulle den komme fra ?
den returnerer default-værdien hvis det ikke er angivet i querystring.
Avatar billede snepnet Nybegynder
08. august 2004 - 12:51 #5
nåh... undskyld.
du har selvfølgelig ret... Hvis du ikke kan caste til int vil den blive kastet.

Du kan jo sikre den helt ved :

        protected int Id
        {
            get
            {
                try
                {
                    return (object)Request.QueryString["id"] != null ? int.Parse(Request.QueryString["id"]) : 5;
                }
                catch
                {
                    return 5;
                }
            }
        }

eller lignende
Avatar billede websphere Nybegynder
08. august 2004 - 12:52 #6
Hey - tak for de gode svar... Jeg lavede en lille metode til håndtering af url parametre.

Smider i lige et svar begge to, så skal jeg nok give jer pointene.
Avatar billede repsak Nybegynder
08. august 2004 - 17:01 #7
websphere -> kan ikke huske om Convert.ToInt32() returnerer -1 istedet for at kaste en exception, men det kan du jo lige undersøge :-)
Avatar billede snepnet Nybegynder
13. august 2004 - 18:11 #8
hov.... beklager ventetide... de sidste par meddelelser er gået min næse forbi.
mvh
Avatar billede websphere Nybegynder
26. august 2004 - 23:08 #9
Jeg var lige 14 dage i spanien, derfor lukker jeg først nu, jeg håber det er ok jeg deler pointene mellem jer :-)
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