Toon posts:

[VB.NET] IIf werkt niet correct

Pagina: 1
Acties:

Verwijderd

Topicstarter
Voor een festival schreef ik de voorbije maanden een programma voor fotoboeken aan te maken. Er zijn 4 soorten fotoboeken mogelijk:
  • Groep
  • Activiteit
  • Medewerkers
  • Bezoekers
Nu wordt op basis van het type fotoboek de foto's hernoemd. Voor een activiteit is dit A_DATUM_XXX.JPG . De andere formaten zijn niet zo van belang. Nu moeten die fotoboeken uiteraard op internet zichtbaar zijn. Dit doe ik via 1 aspx-bestand. De foto's op zich zijn geen probleem, maar de titel wel.

Met volgende code:
code:
1
2
3
4
Fotoalbum: 
<%# IIf(Request.QueryString("Groep").Substring(0,2) = "A_",
Request.QueryString("Titel") & " (" & Request.QueryString("Groep").Substring(2,10) & ")",
Replace(Request.QueryString("Groep"),"_"," ")) %>

wil ik bereiken dat als de parameter "Groep" begint met "A_" en dus een activiteit is, er als titel komt: Fotoalbum: TITEL ( DATUM ). En anders gewoon de "Groep" parameter waarin '_' vervangen is door ' '.

Op zich werkt dit tot op heden allemaal perfect. Tot vanochtend tenminste :(

Vanochtend probeerde ik foto's van een groep in te geven: Zornik. Het ingeven van de foto's gaat wel maar de titel geeft een fout. Na heel wat zoeken blijkt de fout in het feit te zitten dat VB.NET toch dat eerste stuk van de IIf doorloopt.

Hoewel de groep niet met "A_" begint voert hij op de achtergrond toch:
code:
1
Request.QueryString("Titel") & " (" & Request.QueryString("Groep").Substring(2,10) & ")"

uit. Dat geeft uiteraard een probleem omdat "Zornik" minder dan de vereiste 12 karakters bezit.

Mijn vraag is nu simpel: hoe maak je in godsnaam dat VB.NET slim genoeg is om dat stuk van de IIf niet te doorlopen als het niet nodig is :?

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 15:50

gorgi_19

Kruimeltjes zijn weer op :9

Waarom doe je geen replace op basis van een regular expression?

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
gorgi_19 schreef op 31 juli 2004 @ 12:45:
Waarom doe je geen replace op basis van een regular expression?
Ik zou wel willen maar "regular expression" laat bij mij geen belletje rinkelen :/

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 15:50

gorgi_19

Kruimeltjes zijn weer op :9

Verwijderd schreef op 31 juli 2004 @ 12:47:
[...]

Ik zou wel willen maar "regular expression" laat bij mij geen belletje rinkelen :/
Zie MSDN over de RegEx class.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
Zo heb ik het kunnen oplossen (met Regex Replace), hier mag dus een slotje op.

  • whoami
  • Registratie: December 2000
  • Laatst online: 15:17
Als je nu eens zou zeggen hoe je het opgelost hebt....
Er komen geen slotjes op topics omdat een oplossing gevonden is.

https://fgheysels.github.io/


Verwijderd

Topicstarter
whoami schreef op 31 juli 2004 @ 14:36:
Als je nu eens zou zeggen hoe je het opgelost hebt....
Er komen geen slotjes op topics omdat een oplossing gevonden is.
Sorry, heb het gewoon anders aangepakt door de reply. I.p.v. een substring te nemen uit "A_DATUM" heb ik een replace gedaan die "A_" omzet naar "" en dat is voor dit doeleinde goed genoeg.
Pagina: 1