Thomas: Response.Redirekt ... macht mir Probleme!!!

Hallo Leute

Habe hier mein fetziges Script.
Dieses liegt bei mir in einer 3Frame Seite(und zwar im rechten Hauptframe).Wenn ich jetzt meine Parameter an dieses Script übergebe werden diese auch in der Datenbank eingetragen und er springt zurück (mein wunsch)zur Frameseite. Will ich jetzt noch einmal nachschauen ob alles glatt lief, kann ich im linken Frame auf einen link drücken welcher mir mittels Datenbankabfrage(Frontpage2000) mein Ergebnis im Hauptframe darstellen soll, allerdings öffnet er nun die gesamte 3Frame Seite im Hauptframe???????Panik!?
Schaut in die letzte Zeile. Dort gelingt es mir einfach nicht einen Zielframe(target=...) anzugeben.
Könnt Ihr mir ein paar wirklich konstruktive Tipps geben???Bitte
Diese Asp-Seite enthält nur VB-Code.Wenn ich mir die Seite in Frontpage anschaue(normal-Sicht) kann ich in den Eigenschaften einen Zielframe angeben, dieser wird aber nicht berücksichtigt!!!!!???????

<!-- #INCLUDE FILE="./connection.asp" -->
<%
response.buffer = true
myFieldCount = Request.Form.Count
mySet = ""
myWhere = ""
For i = 1 to myFieldCount
  
myName = Request.Form.Key(i)
myValue =  Request.Form.Item(myName)
myType = Request.Form.Item(myName & "_JTMRType")
If myValue <> Request.QueryString(myName) Then
mySet =  mySet & myName & " = '" & replace(myValue, "'", "''") & "', "
End If
If Request.QueryString(myName) <> "" Then
Select Case myType
Case "DATETIME"
myWhere = myWhere & myName & " = #" & JTMRCreateAmericanDate(Request.QueryString(myName)) & "# AND "  
    Case "BOOLEAN", "BYTE", "LONG", "CURRENCY", "SINGLE", "DOUBLE", "SHORT"
myWhere = myWhere & myName & " = " & Request.QueryString(myName) & " AND "
Case Else
myWhere = myWhere & myName & " = '" & replace(Request.QueryString(myName), "'", "''") & "' AND "
End Select
End If
i = i + 1
Next
response.write mySet
If mySet <> "" Then
mySet = Left(mySet, Len(mySet)-2)
myWhere = Left(myWhere, Len(myWhere)-4)  
mySQLQueryString = "UPDATE " & myTable & " SET " & mySet & " WHERE " & myWhere & " ;"
  response.write mySQLQueryString
  gObjDC.execute mySQLQueryString
End If

Call CloseConnection  
Response.Redirect "../layoutframe.asp ???????"  

%>

  1. »»  Call CloseConnection
    »»  Response.Redirect "../layoutframe.asp ???????"

    %>

    Hallo Thomas,
    response.redirect kennt kein target.
    das kannst Du loesen mit
    <head>
    <base target ="woduwillst">
    </head>
    Gruss
    Christian

  2. Hi,

    2 Sachen sind mir im Script aufgefallen. Da das Response.redirect dem Browser einen Header schickt, der dem Browser mitteilt, daß das Dokument an einer anderen Stelle zu suchen ist, darfst du keine Ausgaben (also kein Response.Write) vor dem Redirect machen, da eine Ausgabe erst dann funktioniert, wenn ein kompletter Header geschrieben wurde, und dann kann der Redirect den Header nicht mehr modifizieren, wenn der Header schon komplett ausgeliefert wurde.

    Jedenfalls, da es sich hierbei um einen Serverseitigen Redirect handelt und Frames nun mal clientseitig sind, kannst du serverseitig nicht auf Frames verweisen, da der Server ja nicht weiss, dass es da Frames gibt. Somit bleibt für Dich höchstwahrscheinlich nur, der alternativweg über ein kleines Javascript, das den Redirect macht, also:

    [...]
    Call CloseConnection
    %>
    <script language="JavaScript">
      parent.[FrameName].location.href="../layoutframe.asp";
    </script>
    <%
      Response.end
    %>

    Ciao
    Martin

    Hallo Leute

    Habe hier mein fetziges Script.
    Dieses liegt bei mir in einer 3Frame Seite(und zwar im rechten Hauptframe).Wenn ich jetzt meine Parameter an dieses Script übergebe werden diese auch in der Datenbank eingetragen und er springt zurück (mein wunsch)zur Frameseite. Will ich jetzt noch einmal nachschauen ob alles glatt lief, kann ich im linken Frame auf einen link drücken welcher mir mittels Datenbankabfrage(Frontpage2000) mein Ergebnis im Hauptframe darstellen soll, allerdings öffnet er nun die gesamte 3Frame Seite im Hauptframe???????Panik!?
    Schaut in die letzte Zeile. Dort gelingt es mir einfach nicht einen Zielframe(target=...) anzugeben.
    Könnt Ihr mir ein paar wirklich konstruktive Tipps geben???Bitte
    Diese Asp-Seite enthält nur VB-Code.Wenn ich mir die Seite in Frontpage anschaue(normal-Sicht) kann ich in den Eigenschaften einen Zielframe angeben, dieser wird aber nicht berücksichtigt!!!!!???????

    <!-- #INCLUDE FILE="./connection.asp" -->
    <%

    »»  response.buffer = true
    »»  myFieldCount = Request.Form.Count
    »»  mySet = ""
    »»  myWhere = ""
    »»  For i = 1 to myFieldCount

    myName = Request.Form.Key(i)
    myValue =  Request.Form.Item(myName)
    myType = Request.Form.Item(myName & "_JTMRType")
    If myValue <> Request.QueryString(myName) Then

    »»  mySet =  mySet & myName & " = '" & replace(myValue, "'", "''") & "', "

    End If
    If Request.QueryString(myName) <> "" Then

    »»  Select Case myType
    »»  Case "DATETIME"
    »»  myWhere = myWhere & myName & " = #" & JTMRCreateAmericanDate(Request.QueryString(myName)) & "# AND "

    Case "BOOLEAN", "BYTE", "LONG", "CURRENCY", "SINGLE", "DOUBLE", "SHORT"

    »»  myWhere = myWhere & myName & " = " & Request.QueryString(myName) & " AND "
    »»  Case Else
    »»  myWhere = myWhere & myName & " = '" & replace(Request.QueryString(myName), "'", "''") & "' AND "
    »»  End Select

    End If
    i = i + 1
    Next
    response.write mySet
    If mySet <> "" Then

    »»  mySet = Left(mySet, Len(mySet)-2)
    »»  myWhere = Left(myWhere, Len(myWhere)-4)  
    »»  mySQLQueryString = "UPDATE " & myTable & " SET " & mySet & " WHERE " & myWhere & " ;"

    response.write mySQLQueryString
      gObjDC.execute mySQLQueryString
    End If

    »»  Call CloseConnection
    »»  Response.Redirect "../layoutframe.asp ???????"

    %>