UriBuilder.Query 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取或设置 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 = gcnew UriBuilder
("http://www.contoso.com/default.aspx?Param1=7890");
String^ queryToAppend = "param2=1234";
if (baseUri->Query != nullptr && 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;
}
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 进行转义。
注意
若要将值追加到 .NET Framework 中的现有查询信息,必须在使用新值设置 属性之前删除前导问号。 这是因为设置 属性时,.NET Framework总是在前面附加问号。 .NET 5 (和 .NET Core) 及更高版本可容忍前导问号,并且仅在必要时在前面添加一个。