Avatar billede jesperwerge Nybegynder
17. maj 2007 - 16:57 Der er 8 kommentarer og
1 løsning

Dynamisk hentning af QueryString værdier

Hej Eksperter,

jeg skal modtage nogle værdier via request.QueryString.

eksempel:
?type=breve&i1=Aftalekonto&s1=21&v1=000400318356&i2=Periode_Dato&s2=34&v2=28-06-6&v2_2=30-06-6&i3=Dok_type&s3=11&v3=B11
UR'en består her i dette eksempel af 10 felter, det er felterne i#, s#, v#, og v#_2 som er interessante. disse felter kan kommer max 15 gange, men man ved ikke pr request hvormange de vil komme, og nogle gange vil der kun være i#, s# og andre gange som vist her i eksemplet.

jeg skal bruge felterne til opbygning af en xml struktur, som er fast defineret: de 3-5 feltværdier skal

i1,s1,v1 - skal være første xml felts attributter
i2,s2,v2,v2_2 - skal være andet xml felts attributter
i3,s3,v3 - skal være tredje xml felts attributter

da jeg ikke ved hvormange forskellige felter der kan komme, ville jeg gerne dynamisk hente værdierne så man "let" kunne opbygge sine xml felter/atributter.

PT er jeg startet med at hente hele strengen og så splitte den pr. "&i" da det vil give mig et split pr. xml felt. men er så gået i stå her.

håber der er nogle af jer der har nogle ideer til hvordna dette kan bygges op.

på forhånd tak.

/werge
Avatar billede erikjacobsen Ekspert
17. maj 2007 - 17:03 #1
Brug foreach http://authors.aspalliance.com/aspxtreme/sys/web/httprequestclassquerystring.aspx
og pil tallet ud af navnet, fx med regulære udtryk (eller lidt simplere hvis der kun er max eet ciffer)
Avatar billede dr_chaos Nybegynder
17. maj 2007 - 17:05 #2
foreach (string s in Request.QueryString.AllKeys)
        {
            //den enkelte key
            System.Diagnostics.Debug.WriteLine(s);

            System.Diagnostics.Debug.WriteLine(Request.QueryString[s]);
        }
Avatar billede dr_chaos Nybegynder
17. maj 2007 - 17:05 #3
for langsom.
Avatar billede jesperwerge Nybegynder
17. maj 2007 - 17:22 #4
Hej Begge,

ok så har jeg alle værdierne i eventuelt array eller lignende.

hvordan ville i sortere dem således at der alle 1'erne kom sammen og alle 2'erne?

/werge
Avatar billede jesperwerge Nybegynder
18. maj 2007 - 12:02 #5
Hej igen,

løsningen blev:

foreach (string s in Request.QueryString.AllKeys)
{
  if (s.Contains("i"))
  {
    countI++;
  }
}

herefter loope igen med opbygning af xml struktur og diverse formateringer.

tak for hjælpen og hvis i vil smide et svar begge så fordeler jeg points.

/werge
Avatar billede dr_chaos Nybegynder
18. maj 2007 - 21:23 #6
svar :)
Avatar billede erikjacobsen Ekspert
18. maj 2007 - 21:50 #7
nej tak
Avatar billede jesperwerge Nybegynder
19. maj 2007 - 09:36 #8
Tak for hjælpen til begge
Avatar billede dr_chaos Nybegynder
19. maj 2007 - 15:04 #9
np :)
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