Frage

Ich habe eine Pseudo-Benutzersteuerung für einen Standort in klassischen Asp geschrieben erstellt. Die Steuerung ist einfach eine ASP-Seite (mit vollständigen HTML-Header und Körper), die in der übergeordneten Seite in ein Iframe befindet. Der Punkt war eine AJAX-ähnliche Oberfläche erstellen für Dateien asynchron Hochladen (die übergeordnete Seite enthält eine große Form, und ich wollte nicht, um die Dateien müssen laden und den Rest der Form zugleich einreichen).
Das Problem ist, ich bin mit relativer URLs in eine Menge Probleme läuft in der iframe-Seite / Benutzersteuerung verwendet wird. Je nachdem, welcher Seite ist die iframe ein Kind, die relative URL Basis Lage nach dem Verzeichnis zu ändern scheint, dass bestimmte Seite ist.

Beispiel: www.website.com/directory1/application1.asp

...
<form>
    <input>
    ...
    <iframe src="../controls/FileUpload.asp"/>
    ...
</form>
...

www.website.com/directory1/directory2/application2.asp

...
<form>
    <input>
    ...
    <iframe src="../../controls/FileUpload.asp"/>
    ...
</form>
...

www.website.com/controls/FileUpload.asp

...
<form method="post" enctype="multipart/form-data" action="FileUpload.asp"><!--problem here-->
    <input type="file">
    <input type="submit"/>
</form>

Die iframe src Pfade korrekt funktionieren (man beachten die ein, die ein Verzeichnis vergrib tiefer verfügt über einen zusätzlichen Doppelpunkt). Aber in dem Code für die FileUpload.asp Seite, relative URLs funktionieren nicht konsequent. Die URL ich im action-Attribute für den Formular-Tag funktioniert, wenn Sie einfach die Seite laden, wie sie ist, nicht in einem iframe einer anderen Seite. Sie können es ändern, um „../controls/FileUpload.asp“ und es wird auf der ersten Anwendungsseite arbeiten, aber Sie haben eine andere „../“ hinzuzufügen, um es auf der zweiten Anwendungsseite zu arbeiten.
Ich frage mich, ob vielleicht gibt es eine Möglichkeit, mit vbscript die absolute URL auf eine bestimmte Datei zu finden. Ich habe eine Datei enthalten verwenden, in denen ich dieses Fest Code könnte, aber ich mag lieber nicht, ob das möglich ist. Jede andere Ideen?

War es hilfreich?

Lösung

Sie auch nur könnten in einem absoluten Pfad von der Wurzel setzen wie action = "/ Kontrollen / FileUpload.asp"

Andere Tipps

Ich bin mir nicht sicher, ob Sie vielleicht suchen

<%
Response.Write Server.MapPath("./foo.txt")
%>

Einige nützliche Code von Thorarin dass ich gerade gesehen, in einem verschiedener Post

Geben Sie für Thispage () Funktion

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top