HttpServerUtility.UrlEncode 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
编码字符串,以便通过 URL 从 Web 服务器到客户端进行可靠的 HTTP 传输。
重载
UrlEncode(String) |
对字符串进行 URL 编码,并返回已编码的字符串。 |
UrlEncode(String, TextWriter) |
对字符串进行 URL 编码,并将结果输出发送到 TextWriter 输出流。 |
注解
UrlEncode 是一种在运行时从 ASP.NET 应用程序访问 HttpUtility.UrlEncode 方法的便捷方法。 在内部, UrlEncode 使用 HttpUtility.UrlEncode 对字符串进行编码。
若要对 Web 应用程序之外的值进行编码或解码,请使用 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>
对这些字符进行编码,浏览器可以在请求字符串中重新发送字符串。
此方法是在运行时从 ASP.NET 应用程序访问 HttpUtility.UrlEncode 方法的一种便捷方法。 在内部,此方法使用 HttpUtility.UrlEncode 对字符串进行编码。
在 ASP.NET 网页的代码隐藏文件中,通过 Server
属性访问 类的HttpServerUtility实例。 在不在代码隐藏文件中的类中,使用 HttpContext.Current.Server
访问 类 HttpServerUtility 的实例。
在 Web 应用程序外部,使用 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>.”,并将其复制到名为“This+is+a+%3cTest+String%3e”的 EncodedString
字符串中。
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 是一种在运行时从 ASP.NET 应用程序访问 HttpUtility.UrlEncode 方法的便捷方法。 在内部, UrlEncode 使用 HttpUtility.UrlEncode 对字符串进行编码。
若要对 Web 应用程序之外的值进行编码或解码,请使用 WebUtility 类。