HttpServerUtility.UrlEncode Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Codiert eine Zeichenfolge für eine zuverlässige HTTP-Übertragung vom Webserver an einen Client über die URL.
Überlädt
| Name | Beschreibung |
|---|---|
| UrlEncode(String) |
URL-codiert eine Zeichenfolge und gibt die codierte Zeichenfolge zurück. |
| UrlEncode(String, TextWriter) |
URL-codiert eine Zeichenfolge und sendet die resultierende Ausgabe an einen TextWriter Ausgabedatenstrom. |
Hinweise
UrlEncode ist eine bequeme Möglichkeit, zur Laufzeit über eine ASP.NET-Anwendung auf die HttpUtility.UrlEncode-Methode zuzugreifen. Wird HttpUtility.UrlEncode intern verwendet, UrlEncode um Zeichenfolgen zu codieren.
Verwenden Sie die WebUtility Klasse, um Werte außerhalb einer Webanwendung zu codieren oder zu decodieren.
UrlEncode(String)
URL-codiert eine Zeichenfolge und gibt die codierte Zeichenfolge zurück.
public:
System::String ^ UrlEncode(System::String ^ s);
public string UrlEncode(string s);
member this.UrlEncode : string -> string
Public Function UrlEncode (s As String) As String
Parameter
- s
- String
Der Text zur URL-Codierung.
Gibt zurück
Der URL-codierte Text.
Beispiele
Im folgenden Beispiel wird gezeigt, wie Ein Wert urlcodiert wird, der als Abfragezeichenfolgenwert eines Links verwendet wird. Der Code befindet sich in der CodeBehind-Datei für eine Webseite. Der zu codierenden Wert ist in diesem Beispiel nur hartcodiert, um das Beispiel zu vereinfachen und den Typ des Werts anzuzeigen, den Sie möglicherweise URL-codieren können. In der Regel würden Sie einen Wert codieren, den Sie vom Benutzer oder der Anforderung erhalten haben.
NextPage verweist auf ein HyperLink Steuerelement.
public partial class _Default : Page
{
protected void Page_Load(object sender, EventArgs e)
{
string destinationURL = "http://www.contoso.com/default.aspx?user=test";
NextPage.NavigateUrl = "~/Finish?url=" + Server.UrlEncode(destinationURL);
}
}
Public Class _Default
Inherits Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load
Dim destinationURL = "http://www.contoso.com/default.aspx?user=test"
NextPage.NavigateUrl = "~/Finish?url=" + Server.UrlEncode(destinationURL)
End Sub
End Class
Das nächste Beispiel ähnelt dem vorherigen Beispiel, es sei denn, es wird gezeigt, wie sie einen Wert aus einer Klasse codieren, die sich nicht in der CodeBehind-Datei befindet.
public class SampleClass
{
public string GetUrl()
{
string destinationURL = "http://www.contoso.com/default.aspx?user=test";
return "~/Finish?url=" + HttpContext.Current.Server.UrlEncode(destinationURL);
}
}
Public Class SampleClass
Public Function GetUrl() As String
Dim destinationURL = "http://www.contoso.com/default.aspx?user=test"
Return "~/Finish?url=" + HttpContext.Current.Server.UrlEncode(destinationURL)
End Function
End Class
Hinweise
Durch die URL-Codierung wird sichergestellt, dass alle Browser Text in URL-Zeichenfolgen korrekt übertragen. Zeichen wie ein Fragezeichen (?), kaufmännisches Und-Zeichen (&), Schrägstrich (/) und Leerzeichen können von einigen Browsern abgeschnitten oder beschädigt werden. Daher müssen diese Zeichen in <a> Tags oder in Abfragezeichenfolgen codiert werden, in denen die Zeichenfolgen von einem Browser in einer Anforderungszeichenfolge erneut gesendet werden können.
Diese Methode ist eine bequeme Möglichkeit, zur Laufzeit über eine ASP.NET Anwendung auf die HttpUtility.UrlEncode-Methode zuzugreifen. Intern verwendet HttpUtility.UrlEncode diese Methode zum Codieren von Zeichenfolgen.
Greifen Sie in der CodeBehind-Datei für eine ASP.NET Webseite über die eigenschaft Server auf eine Instanz der HttpServerUtility-Klasse zu. Verwenden Sie HttpContext.Current.Server in einer Klasse, die sich nicht in einer CodeBehind-Datei befindet, um auf eine Instanz der HttpServerUtility Klasse zuzugreifen.
Verwenden Sie außerhalb einer Webanwendung die WebUtility Klasse, um Werte zu codieren oder zu decodieren.
Gilt für:
UrlEncode(String, TextWriter)
URL-codiert eine Zeichenfolge und sendet die resultierende Ausgabe an einen TextWriter Ausgabedatenstrom.
public:
void UrlEncode(System::String ^ s, System::IO::TextWriter ^ output);
public void UrlEncode(string s, System.IO.TextWriter output);
member this.UrlEncode : string * System.IO.TextWriter -> unit
Public Sub UrlEncode (s As String, output As TextWriter)
Parameter
- s
- String
Die zu codierende Textzeichenfolge.
- output
- TextWriter
Der TextWriter Ausgabedatenstrom, der die codierte Zeichenfolge enthält.
Beispiele
Im folgenden Beispiel wird eine Zeichenfolge für die Übertragung durch HTTP codiert. Sie codiert die benannte TestStringZeichenfolge, die den Text "Dies ist eine <Testzeichenfolge>" enthält, und kopiert sie in die Zeichenfolge EncodedString namens "This+is+a+%3cTest+String%3e".
String TestString = "This is a <Test String>.";
StringWriter writer = new StringWriter();
Server.UrlEncode(TestString, writer);
String EncodedString = writer.ToString();
Dim TestString As String = "This is a <Test String>."
Dim writer As New StringWriter
Server.UrlEncode(TestString, writer)
Dim EncodedString As String = writer.ToString()
Hinweise
Durch die URL-Codierung wird sichergestellt, dass alle Browser Text in URL-Zeichenfolgen korrekt übertragen. Zeichen wie ein Fragezeichen (?), kaufmännisches Und-Zeichen (&), Schrägstrich (/) und Leerzeichen können von einigen Browsern abgeschnitten oder beschädigt werden. Daher müssen diese Zeichen in <a> Tags oder in Abfragezeichenfolgen codiert werden, in denen die Zeichenfolgen von einem Browser in einer Anforderungszeichenfolge erneut gesendet werden können.
UrlEncode ist eine bequeme Möglichkeit, zur Laufzeit über eine ASP.NET-Anwendung auf die HttpUtility.UrlEncode-Methode zuzugreifen. Wird HttpUtility.UrlEncode intern verwendet, UrlEncode um Zeichenfolgen zu codieren.
Verwenden Sie die WebUtility Klasse, um Werte außerhalb einer Webanwendung zu codieren oder zu decodieren.