c# - Was ist der Unterschied zwischen ResolveUrl und ResolveClientUrl?




asp.net (5)

Zusamenfassend:

Page.ResolveUrl(~): creates the URL from the root of app.

und

Page.ResolveClientUrl(~): creates the URL relative to the current page.(e.g: ../../..)

Aber in meinen Tests in asp.net ist Page.ResolveUrl besser, weil die Ausgabe stabil ist und nicht relativ ist.

Ich habe ResolveUrl zum Hinzufügen von CSS und Javascript in ASP.NET-Dateien verwendet.

Normalerweise sehe ich jedoch eine Option von ResolveClientUrl. Was ist der Unterschied zwischen beiden?

Wann sollte ich ResolveClientUrl verwenden?


ResolveUrl erstellt die URL relativ zum Stamm.

ResolveClientUrl erstellt die URL relativ zur aktuellen Seite.

Sie können auch verwenden, was Sie möchten, jedoch wird ResolveUrl häufiger verwendet.


Laut MSDN-Dokumentation:

ResolveClientUrl

Eine vollständig qualifizierte URL zu der angegebenen Ressource, die für die Verwendung im Browser geeignet ist.

Verwenden Sie die ResolveClientUrl-Methode, um eine URL-Zeichenfolge zurückzugeben, die vom Client für den Zugriff auf Ressourcen auf dem Webserver verwendet werden kann, z. B. Bilddateien, Links zu zusätzlichen Seiten usw.

ResolveUrl

Die konvertierte URL

Wenn der Parameter relativeUrl eine absolute URL enthält, wird die URL unverändert zurückgegeben. Wenn der Parameter relativeUrl eine relative URL enthält, wird diese URL in eine relative URL geändert, die für den aktuellen Anforderungspfad korrekt ist, sodass der Browser die URL auflösen kann.

Stellen Sie sich beispielsweise das folgende Szenario vor:

Ein Client hat eine ASP.NET-Seite angefordert, die ein Benutzersteuerelement enthält, dem ein Bild zugeordnet ist.

Die ASP.NET-Seite befindet sich unter /Store/page1.aspx.

Die Benutzersteuerung befindet sich unter /Store/UserControls/UC1.ascx.

Die Bilddatei befindet sich unter /UserControls/Images/Image1.jpg.

Wenn das Benutzersteuerelement den relativen Pfad zum Image (d. H. /Store/UserControls/Images/Image1.jpg) an die ResolveUrl-Methode übergibt, gibt die Methode den Wert /Images/Image1.jpg zurück.

Ich denke, das erklärt das ganz gut.


Die Verwendung von Page.ResolveUrl ist besser, wenn Sie versuchen, eine Javascript-freundliche URL zu erhalten.

Wenn Sie beispielsweise einen iframe von der übergeordneten Seite öffnen, benötigen Sie eine vollständige URL, die an die iframe-Eigenschaft src übergeben wird.


Wenn Sie die MSDN-Artikel "Was ist neu in der C # 2.0-Sprache und im Compiler" und " Was ist neu in Visual C # 2005 " vergleichen, können Sie ableiten, dass "C # major_version.minor_version" gemäß der Versionsnummer des Compilers geprägt ist.

Es gibt C # 1.2, das .NET 1.1 und VS 2003 entspricht und auch als Visual C # .NET 2003 bezeichnet wird .

Aber Microsoft hat aufgehört, die Nebenversionsnummern (nach dem Punkt) zu erhöhen oder sie mit einer anderen Zahl als Null zu versehen, 0 . Es sollte jedoch beachtet werden, dass C #, das .NET 3.5 entspricht, in msdn.microsoft.com als "Visual C # 2008 Service Pack 1" bezeichnet wird .

Es gibt zwei parallele Benennungen: Nach wichtigen .NET / Compiler-Versionsnummerierungen und nach Visual Studio-Nummerierungen.

C # 2.0 ist ein Synonym für Visual C # 2005

C # 3.0 entspricht (oder kann richtiger sein):





c# asp.net