So arbeite ich an einer Intranet Webanwendung mit ASP.NET MVC, und ich muss einen Link zu einem Ordner im Netzwerk erstellen. Als Beispiel möchte ich sagen, dass ich eine Verknüpfung zu "C: \" erstellen wollte, und diese URL wird in site.DocsPath
gespeichert. Ich die einfachste Weg gefunden, dies zu tun war nur eine regelmäßige Verbindung erstellen, wie folgt aus:Link zum Verzeichnis im Netzwerk
<a href="file:///<%= site.DocsPath %>">Documents</a>
Dies zu beschliesst: Jedoch
<a href="file:///C:\ruby">Documents</a>
, wenn Sie auf den Link klicken, nichts passiert. Es ist im Grunde so, als würde man auf normalen Text klicken; absolut nichts passiert passiert. Keine Umleitung, nichts. Ich habe das sowohl in Firefox als auch in IE versucht, und das gleiche Verhalten passiert in beiden.
Anfangs dachte ich, es könnten die Schrägstriche sein. Also habe ich file:///C:\ruby
in die Adressleiste eingefügt, um zu sehen, ob es überhaupt richtig war. Es funktionierte. Ich habe das sowohl in Firefox als auch in IE versucht, und es funktioniert in beiden.
Also jetzt denke ich "hey, vielleicht ist mein HTML aus irgendeinem Grund nicht richtig". Also habe ich eine kleine HTML-Seite, wie zum Beispiel:
<html>
<head><title>Test Page</title></head>
<body>
<a href="file:///C:\ruby">Documents</a>
</body>
</html>
Und siehe da ..... es funktionierte. Ich klicke auf den Link, und folgt tatsächlich dem Link. Und das funktioniert sowohl in Firefox als auch in IE.
So jetzt bin ich verwirrt. Der HTML-Code ist genau in beiden Fällen (über ASP.NET MVC und in statischem HTML). Und noch funktioniert es nur im statischen HTML-Fall. Jetzt
, Ich ziehe einfach an einen Strohhalm. Ich versuche einfach,
<a href="file:///C:\ruby">Documents</a>
direkt in die Viewpage in ASP.NET MVC einfügen. Nein, funktioniert nicht.
Dann versuche ich nur eine zufällige Website statisch in die Viewpage einfügen, wie:
<a href="http://www.google.com">Supreme Overlord of the Internet</a>
Und die arbeitet. So, jetzt habe ich bestätigt, dass ASP.NET tatsächlich handgenerierte Links folgen kann.
Jetzt, mit nur noch nichts zu tun, mache ich etwas verrückt. habe ich den Link irgendwo, die nicht existiert, wie:
<a href="file:///X:\this\doesnt\exist">I Hate ASP.NET MVC right now</a>
Firefox auf seine Pistolen klebt und sie nicht folgen. Jedoch, IE folgt tatsächlich und gibt mir eine Fehlerseite.Das gleiche passiert, wenn site.DocsPath = "X:\this\doesnt\exist"
und ich habe:
<a href="file:///<%= site.DocsPath %>">Documents</a>
So, jetzt bin ich total verwirrt. Ich weiß nicht, was der Teufel geht weiter. Offensichtlich hasst ASP.NET MVC mich, was beunruhigend ist, weil ich nichts als Liebe gezeigt habe.
Wenn jemand eine Idee hat, was vor sich geht, würde ich die Hilfe sehr schätzen. Vielen Dank!
UPDATE: Nach zahlreichen Tests (und viele sehr hilfreichen Antworten und Kommentaren von jedem hier auf SO), habe ich zu dem Schluss gekommen, dass nur eine normale Verbindung zum Ordner erstellen nur funktioniert nicht. Ich habe schließlich versucht, diese statische HTML-Seite, die ich oben erstellt habe, auf einen Webserver zu stellen, und es stellt sich heraus, dass es nicht funktioniert. Ich habe auch eine Ruby-on-Rails-Anwendung und eine kleine PHP-Anwendung erstellt und diese auch getestet, und sie funktioniert auch nicht. Die einzige andere Möglichkeit ist, dass es tatsächlich eine Browser-Sache ist.
Ich denke, ich werde verfolgen vielleicht irgendwie Verbindung zu dem SharePoint-Server, dass alle Dokumente verwaltet werden. Danke an alle, die die Frage kommentiert und beantwortet haben. Ich kann nur eine Antwort wählen, aber die Kommentare und Antworten aller haben wirklich ein klares Bild davon gegeben, was vor sich geht. Vielen Dank!
Lol, ich hasse ASP.NET nicht wirklich ... Ich war nur etwas frustriert mit diesem Problem, als ich den Beitrag schrieb. Ich habe versucht, dies mit Rails zu tun, und ich habe den gleichen Fehler, also denke ich, es ist eine Browser-Sache. Es ist jedoch immer noch seltsam, dass statische HTML-Dateien auf lokale Dateien zugreifen können. Wie auch immer, danke, dass Sie einen tatsächlichen Hinweis auf das Problem haben. – thebrokencube
Ich glaube nicht, dass es "statisches HTML" erlaubt ... es erlaubt wahrscheinlich einer lokalen Datei, auf eine lokale Datei zuzugreifen. Versuchen Sie, das über Ihren Webserver zu liefern. Es macht Sinn, dass eine Datei: // auf eine andere Datei zeigen kann (z. B. lokale Suche von einer CD aus), aber nicht http: // -> file: //. .......... Ich realisiere, dass Sie nicht hassen mvc;) Wenn ich nur alle meine Test-Code mit "Warum der F **** ist das nicht funktioniert?", "F **************** ck! ", usw. –
Sie haben Recht; Ich habe es auf einem Webserver getestet und es hat auch nicht funktioniert. Ich denke, ich muss einfach einen anderen Baum anbellen, damit diese Funktionalität funktioniert. Danke für die Hilfe! – thebrokencube