HttpUtility.ParseQueryString メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
クエリ文字列を解析して NameValueCollection にします。
オーバーロード
ParseQueryString(String) |
UTF8 エンコードを使用してクエリ文字列を NameValueCollection に解析します。 |
ParseQueryString(String, Encoding) |
指定した Encoding を使用してクエリ文字列を NameValueCollection に解析します。 |
ParseQueryString(String)
UTF8 エンコードを使用してクエリ文字列を NameValueCollection に解析します。
public:
static System::Collections::Specialized::NameValueCollection ^ ParseQueryString(System::String ^ query);
public static System.Collections.Specialized.NameValueCollection ParseQueryString (string query);
static member ParseQueryString : string -> System.Collections.Specialized.NameValueCollection
Public Shared Function ParseQueryString (query As String) As NameValueCollection
パラメーター
- query
- String
解析するクエリ文字列。
戻り値
クエリ パラメーターと値の NameValueCollection。
例外
query
が null
です。
例
次のコード例は、ParseQueryString メソッドの使用方法を示します。 同じクエリ文字列変数が複数回出現すると、返されたエントリの 1 つのエントリに統合されます NameValueCollection。
<%@ Page Language="C#"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
protected void Page_Load(object sender, EventArgs e)
{
String currurl = HttpContext.Current.Request.RawUrl;
String querystring = null ;
// Check to make sure some query string variables
// exist and if not add some and redirect.
int iqs = currurl.IndexOf('?');
if (iqs == -1)
{
String redirecturl = currurl + "?var1=1&var2=2+2%2f3&var1=3";
Response.Redirect(redirecturl, true);
}
// If query string variables exist, put them in
// a string.
else if (iqs >= 0)
{
querystring = (iqs < currurl.Length - 1) ? currurl.Substring(iqs + 1) : String.Empty;
}
// Parse the query string variables into a NameValueCollection.
NameValueCollection qscoll = HttpUtility.ParseQueryString(querystring);
// Iterate through the collection.
StringBuilder sb = new StringBuilder("<br />");
foreach (String s in qscoll.AllKeys)
{
sb.Append(s + " - " + qscoll[s] + "<br />");
}
// Write the result to a label.
ParseOutput.Text = sb.ToString();
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>HttpUtility ParseQueryString Example</title>
</head>
<body>
<form id="form1" runat="server">
Query string variables are:
<asp:Label id="ParseOutput"
runat="server" />
</form>
</body>
</html>
<%@ Page Language="VB" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
Dim currurl As String = HttpContext.Current.Request.RawUrl
Dim querystring As String = Nothing
' Check to make sure some query string variables
' exist and if not add some and redirect.
Dim iqs As Int32 = currurl.IndexOf("?".ToCharArray())
If (iqs = -1) Then
Dim redirecturl As String = currurl & "?var1=1&var2=2+2%2f3&var1=3"
Response.Redirect(redirecturl, True)
' If query string variables exist, put them in
' a string.
ElseIf (iqs >= 0) Then
If (iqs < currurl.Length - 1) Then
querystring = currurl.Substring(iqs + 1)
End If
End If
' Parse the query string variables into a NameValueCollection.
Dim qscoll As NameValueCollection = HttpUtility.ParseQueryString(querystring)
' Iterate through the collection.
Dim sb As New StringBuilder("<br />")
For Each s As String In qscoll.AllKeys
sb.Append(s & " - " & qscoll(s) & "<br />")
Next s
' Write the result to a label
ParseOutput.Text = sb.ToString()
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>HttpUtility ParseQueryString Example</title>
</head>
<body>
<form id="Form1" runat="server">
Query string variables are:
<asp:Label id="ParseOutput"
runat="server" />
</form>
</body>
</html>
注釈
このメソッドは ParseQueryString 、形式を使用 UTF8 してクエリ文字列を解析します。返された NameValueCollection場合、URL でエンコードされた文字がデコードされ、同じクエリ文字列パラメーターが複数回出現し、各値がコンマで区切られた 1 つのエントリとして一覧表示されます。
重要
このメソッドでは ParseQueryString 、潜在的なセキュリティ上の脅威であるユーザー入力を含む可能性のあるクエリ文字列を使用します。 既定では、ASP.NET Web ページによって、ユーザー入力にスクリプトまたは HTML 要素が含まれていないかどうかが検証されます。 詳細については、「スクリプトによる攻略の概要」を参照してください。
こちらもご覧ください
適用対象
ParseQueryString(String, Encoding)
指定した Encoding を使用してクエリ文字列を NameValueCollection に解析します。
public:
static System::Collections::Specialized::NameValueCollection ^ ParseQueryString(System::String ^ query, System::Text::Encoding ^ encoding);
public static System.Collections.Specialized.NameValueCollection ParseQueryString (string query, System.Text.Encoding encoding);
static member ParseQueryString : string * System.Text.Encoding -> System.Collections.Specialized.NameValueCollection
Public Shared Function ParseQueryString (query As String, encoding As Encoding) As NameValueCollection
パラメーター
- query
- String
解析するクエリ文字列。
戻り値
クエリ パラメーターと値の NameValueCollection。
例外
注釈
返された NameValueCollectionURL でエンコードされた文字はデコードされ、同じクエリ文字列パラメーターが複数回出現すると、各値がコンマで区切られた 1 つのエントリとして一覧表示されます。
重要
このメソッドでは ParseQueryString 、潜在的なセキュリティ上の脅威であるユーザー入力を含む可能性のあるクエリ文字列を使用します。 既定では、ASP.NET Web ページによって、ユーザー入力にスクリプトまたは HTML 要素が含まれていないかどうかが検証されます。 詳細については、「スクリプトによる攻略の概要」を参照してください。