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-адресу. Как правило, 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
Следующий пример аналогичен предыдущему, но в нем показано, как кодировать значение ПО URL-адреса из класса, который не находится в файле кода программной части.
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
, которая содержит текст "This is a <Test String>.", и копирует ее в строку с именем 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.