Hallo Ralf
"Wenn ich das richtig verstehe wird der Wert auch nur einmal, beim Aufruf der asp-Seite gesetzt. "
- Das ist richtig, ASP wird auf dem Server ausgewertet BEVOR das file an den Client-Browser gesendet wird. D.h. alle "dynamischen asp inhalte" werden durch statische "html texte" ersetzt und können nur durch neuladen der seite aktualisiert werden (KEIN AJAX).
Lösen musst du das Problem entweder in dem du den Link mit JavaScript änderst oder anstelle von der Record RowID mitzugeben Serverseitig speicherst.
1. Serverseitig speichern
Manchmal lohnt es sich die "Session" mit einem Zusätzlichen Feld zu versehen, da könntest du zum beispiel ein Feld haben wie "CustomerIdent". Wenn nun ein User einen Customer anwählt und findet kannst du einen Eindeutigen index des Customers in die Session speichern. Somit weisst du immer welchen Customer sich eine bestimme "Session" als letztes angesehen hat, und kannst beim laden deiner neuen seite die information zum laden von der Session holen.
2. JavaScript - Ansatz
Ich würde das generell so lösen, dass du über ein feld der datenbank gehst (nicht unbedingt RowId).
z.B. das feld mit id anhängen dass einen eindeutigen index hat:
<input type="hidden" name="customer__number" id="customer__number" />
Code:
<a href="javascript: jsOpenFormular()" >MyLink</a>
<script type="text/javascript">
function jsOpenFormular(){
customer_number = document.getElementById('customer__number').value()
url = "Formular.asp?customer_number=" + customer_number;
fenster = window.open(url, "Popupfenster", "width=400,height=300,resizable=yes");
fenster.focus();
return false;
}
</script>
Code ist nicht getestet, kann schreibfehler enthalten ^^ sollte im prinzip aber funktionieren, habe ich so ähnlich auch verwendet.