HttpServerUtility.UrlEncode Метод

Определение

Кодирует строку для надежной передачи HTTP с веб-сервера на клиент по URL-адресу.

Перегрузки

Имя Описание
UrlEncode(String)

URL-кодирует строку и возвращает закодированную строку.

UrlEncode(String, TextWriter)

URL-адрес кодирует строку и отправляет полученные выходные данные в выходной TextWriter поток.

Комментарии

UrlEncode — удобный способ доступа к методу HttpUtility.UrlEncode во время выполнения из приложения ASP.NET. UrlEncode Внутренне используется HttpUtility.UrlEncode для кодирования строк.

Чтобы кодировать или декодировать значения за пределами веб-приложения, используйте WebUtility класс.

UrlEncode(String)

URL-кодирует строку и возвращает закодированную строку.

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

Параметры

s
String

Текст для кодирования URL-адреса.

Возвращаемое значение

Кодированный URL-адресом текст.

Примеры

В следующем примере показано, как закодировать значение URL-адреса, используемое в качестве значения строки запроса гиперссылки. Код находится в файле программной части веб-страницы. Значение для кодирования жестко закодировано в этом примере только для упрощения примера и отображения типа значения, которое может быть закодировано URL-адресом. Как правило, вы закодируете значение, полученное от пользователя или запроса. NextPage ссылается на HyperLink элемент управления.

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

Следующий пример аналогичен предыдущему примеру, кроме того, что он показывает, как кодировать значение из класса, который не находится в файле программной части.

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

Комментарии

Кодировка URL-адресов гарантирует, что все браузеры будут правильно передавать текст в строках URL-адресов. Символы, такие как вопросительный знак (?), амперсанд (&), знак косой черты (/) и пробелы могут быть усечены или повреждены некоторыми браузерами. В результате эти символы должны быть закодированы в <a> тегах или строках запроса, где строки могут быть повторно отправлены браузером в строке запроса.

Этот метод является удобным способом доступа к методу HttpUtility.UrlEncode во время выполнения из приложения ASP.NET. Внутри этого метода используется HttpUtility.UrlEncode для кодирования строк.

В файле кода для веб-страницы ASP.NET доступ к экземпляру класса HttpServerUtility через свойство Server. В классе, который не находится в файле программной части, используйте HttpContext.Current.Server для доступа к экземпляру HttpServerUtility класса.

За пределами веб-приложения используйте WebUtility класс для кодирования или декодации значений.

Применяется к

UrlEncode(String, TextWriter)

URL-адрес кодирует строку и отправляет полученные выходные данные в выходной TextWriter поток.

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)

Параметры

s
String

Текстовая строка для кодирования.

output
TextWriter

Выходной TextWriter поток, содержащий закодированную строку.

Примеры

В следующем примере кодируется строка для передачи по протоколу HTTP. Он кодирует строку с именем TestString, которая содержит текст " <Это тестовая строка>"." и копирует его в строку с именем EncodedString "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()
   

Комментарии

Кодировка URL-адресов гарантирует, что все браузеры будут правильно передавать текст в строках URL-адресов. Символы, такие как вопросительный знак (?), амперсанд (&), знак косой черты (/) и пробелы могут быть усечены или повреждены некоторыми браузерами. В результате эти символы должны быть закодированы в <a> тегах или строках запроса, где строки могут быть повторно отправлены браузером в строке запроса.

UrlEncode — удобный способ доступа к методу HttpUtility.UrlEncode во время выполнения из приложения ASP.NET. UrlEncode Внутренне используется HttpUtility.UrlEncode для кодирования строк.

Чтобы кодировать или декодировать значения за пределами веб-приложения, используйте WebUtility класс.

Применяется к