EKKi: alter Wert in hidden Feld

Beitrag lesen

Mahlzeit emetiel,

sVersion wird einmal deklariert. Kann es sein, dass ASP durch den zweimaligen aufruf von request.form() aus dieser dann ein array macht?

Nein - wieso sollte? Du weist der Variablen "sVersion" schließlich zweimal einen Wert zu. Bei der zweiten Zuweisung wird der alte enthaltene Wert schlicht und ergreifend überschrieben:

sVersion = replace(replace(Request.form("version"), ",", ""), " ",

sVersion = replace(replace(Request.form("version"), ",", ""), " ", "")

Was ich meinte - und worauf ich Dich auch bereits hingewiesen habe - ist das zwei- bzw. mehrmalige Vorkommen von Formularelementen mit dem selben Namen:

<input name="version" size="10">

<input type="hidden" name="version" value="<%= sVersion %>">

Dadurch wird beim Auswerten des Postbacks von ASP ein entsprechendes Array angelegt und in der Form-Collection zur Verfügung gestellt. Du könntest darauf mittels Request.Form("version")(1) bzw. Request.Form("version")(2) zugreifen. Beim direkten Zugriff auf Request.Form("version") werden Dir dann einfach alle Werte des Arrays als Komma-separatierte Liste zur Verfügung gestellt.

Wozu integrierst Du überhaupt ein verstecktes Formularfeld, wenn doch ein entsprechend benanntes Texteingabefeld vorhanden ist?

Der Code ist jetzt klar - es fehlen noch der fachliche Hintergrund und das "Warum" ...

Und wenn ja, ist es überhaupt von nöten, zwei response zu machen wo doch die zweite .asp nur in die erste mit eingebettet wird?

Nein.

Würde da nicht einmal genügen und zwar im ersten asp?

Ja.

Oder kennt dann das zweite asp die Werte nicht mehr?

Doch.

Generell ist Dein Code-Aufbau IMHO stark überarbeitungswürdig. Grundsätzlich ist die strikte Verwendung des EVA-Prinzips empfehlenswert. Sammle also erst alle von extern kommenden Parameter ein und validiere sie.

Sind keine Fehler aufgetreten, verarbeite die Daten und bereite die Ausgabe vor ... das bedeutet, dass Du das, was angezeigt werden soll, in entsprechenden Variablen zusammenstellst. Ein Response.Write() hat jedoch innerhalb der Verarbeitung *ABSOLUT GAR NICHTS* verloren.

Am Schluss nimmst Du die Ausgabe vor - sinnvollerweise durch Templates, in die die variablen Teile lediglich noch eingefügt werden, oder durch Funktionen, die ein valides und stabiles HTML-Gerüst erzeugen.

MfG,
EKKi

--
sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|