UriBuilder.Query プロパティ

定義

URI に含まれるクエリ情報 (空でない場合は先頭の '?' 文字を含む) を取得または設定します。

public:
 property System::String ^ Query { System::String ^ get(); void set(System::String ^ value); };
public string Query { get; set; }
member this.Query : string with get, set
Public Property Query As String

プロパティ値

URI に含まれるクエリ情報。

次の例では、 Query プロパティを設定します。

UriBuilder baseUri = new UriBuilder("http://www.contoso.com/default.aspx?Param1=7890");
string queryToAppend = "param2=1234";

if (baseUri.Query != null && baseUri.Query.Length > 1)
    // Note: In .NET Core and .NET 5+, you can simplify by removing
    // the call to Substring(), which removes the leading "?" character.
    baseUri.Query = baseUri.Query.Substring(1) + "&" + queryToAppend; 
else
    baseUri.Query = queryToAppend;
open System

let baseUri = UriBuilder "http://www.contoso.com/default.aspx?Param1=7890"
let queryToAppend = "param2=1234"

baseUri.Query <-
    if baseUri.Query <> null && baseUri.Query.Length > 1 then
        // Note: In .NET Core and .NET 5+, you can simplify by removing
        // the call to Substring(), which removes the leading "?" character.
        baseUri.Query.Substring 1 + "&" + queryToAppend 
    else
        queryToAppend

注釈

Query プロパティには、URI に含まれるクエリ情報が含まれます。 クエリ情報は、パス情報と疑問符 (?) で区切られ、URI の末尾まで続きます。 返されるクエリ情報には、先頭の疑問符が含まれます。 Queryプロパティを設定する場合:

  • .NET Framework では、文字列が既に疑問符で始まっている場合でも、常に疑問符が文字列の先頭に付加されます。
  • .NET 5 (および .NET Core) 以降のバージョンでは、まだ存在しない場合は、文字列の前に疑問符が付加されます。

クエリ情報は RFC 2396 に従ってエスケープされます。

Note

.NET Framework の既存のクエリ情報に値を追加するには、新しい値でプロパティを設定する前に、先頭の疑問符を削除する必要があります。 これは、.NET Framework では、プロパティの設定時に常に疑問符の前に付加されるためです。 .NET 5 (および .NET Core) 以降のバージョンは、先行する疑問符に対してトレラントであり、必要に応じて先頭にのみ付加されます。

適用対象

こちらもご覧ください