UriBuilder.Query Egenskap

Definition

Hämtar eller anger all frågeinformation som ingår i URI:n, inklusive det inledande tecknet ? om det inte är tomt.

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

Egenskapsvärde

Frågeinformationen som ingår i URI:n.

Exempel

I följande exempel anges egenskapen 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

Kommentarer

Egenskapen Query innehåller all frågeinformation som ingår i URI:n. Frågeinformationen avgränsas från sökvägsinformationen med ett frågetecken (?) och fortsätter till slutet av URI:n. Frågeinformationen som returneras innehåller det inledande frågetecknet. När du ställer in egenskapen Query :

  • I .NET Framework läggs ett frågetecken alltid till i strängen, även om strängen redan börjar med ett frågetecken.
  • I .NET 5 (och .NET Core) och senare versioner läggs ett frågetecken till i strängen om den inte redan finns.

Frågeinformationen är undantagen enligt RFC 2396.

Note

Om du vill lägga till ett värde i befintlig frågeinformation i .NET Framework måste du ta bort det inledande frågetecknet innan du anger egenskapen med det nya värdet. Det beror på att .NET Framework alltid förbereder frågetecknet när egenskapen anges. .NET 5 (och .NET Core) och senare versioner är toleranta mot ett ledande frågetecken och förbereder bara ett om det behövs.

Gäller för

Se även