WwwFormUrlDecoder Classe

Définition

Analyse une chaîne de requête URL et expose les résultats sous la forme d’un vecteur en lecture seule (liste) de paires nom-valeur de la chaîne de requête.

public ref class WwwFormUrlDecoder sealed : IIterable<IWwwFormUrlDecoderEntry ^>, IVectorView<IWwwFormUrlDecoderEntry ^>
/// [Windows.Foundation.Metadata.Activatable(Windows.Foundation.IWwwFormUrlDecoderRuntimeClassFactory, 65536, Windows.Foundation.UniversalApiContract)]
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class WwwFormUrlDecoder final : IIterable<IWwwFormUrlDecoderEntry>, IVectorView<IWwwFormUrlDecoderEntry>
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
/// [Windows.Foundation.Metadata.Activatable(Windows.Foundation.IWwwFormUrlDecoderRuntimeClassFactory, 65536, "Windows.Foundation.UniversalApiContract")]
class WwwFormUrlDecoder final : IIterable<IWwwFormUrlDecoderEntry>, IVectorView<IWwwFormUrlDecoderEntry>
[Windows.Foundation.Metadata.Activatable(typeof(Windows.Foundation.IWwwFormUrlDecoderRuntimeClassFactory), 65536, typeof(Windows.Foundation.UniversalApiContract))]
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class WwwFormUrlDecoder : IEnumerable<IWwwFormUrlDecoderEntry>, IReadOnlyList<IWwwFormUrlDecoderEntry>
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
[Windows.Foundation.Metadata.Activatable(typeof(Windows.Foundation.IWwwFormUrlDecoderRuntimeClassFactory), 65536, "Windows.Foundation.UniversalApiContract")]
public sealed class WwwFormUrlDecoder : IEnumerable<IWwwFormUrlDecoderEntry>, IReadOnlyList<IWwwFormUrlDecoderEntry>
function WwwFormUrlDecoder(query)
Public NotInheritable Class WwwFormUrlDecoder
Implements IEnumerable(Of IWwwFormUrlDecoderEntry), IReadOnlyList(Of IWwwFormUrlDecoderEntry)
Héritage
Object Platform::Object IInspectable WwwFormUrlDecoder
Attributs
Implémente

Configuration requise pour Windows

Famille d’appareils
Windows 10 (introduit dans 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (introduit dans v1.0)

Remarques

Utilisez la classe WwwFormUrlDecoder pour analyser une chaîne de requête en paires nom-valeur, en fonction du nombre et de l’emplacement des symboles « & » et « = ». Chaque paire nom-valeur est représentée par un objet IWwwFormUrlDecoderEntry , qui a une propriété Name et une propriété Value (les deux chaînes).

Utilisez GetFirstValueByName pour rechercher un paramètre de chaîne de requête nommé spécifique. Toutes les langues peuvent utiliser cette méthode. Vous utilisez généralement GetFirstValueByName plutôt que GetAt , car l’ordre des éléments d’une chaîne de requête n’est généralement pas important, tandis que le nom du paramètre est l’identificateur important des parties d’une requête. Ou, si vous ne savez pas quels noms existent dans la chaîne de requête, vous pouvez énumérer sur la collection WwwFormUrlDecoder complète.

La propriété Uri.QueryParsed renvoie un Objet WwwFormUrlDecoder complet basé sur un uri instance. Par conséquent, si vous utilisez des extensions de composant Visual C++ (C++/CX) ou du code JavaScript et que vous avez déjà un uri instance, vous n’avez pas besoin de construire un nouvel objet WwwFormUrlDecoder, l’URI instance en a déjà un. Vous pouvez construire un WwwFormUrlDecoder si vous avez une chaîne représentant une URL ou son composant de chaîne de requête provenant d’autres sources, par exemple à partir d’une API Windows.Web.Http .

Notes

Cette collection est un vecteur plutôt qu’une carte dans le cas où l’ordre d’origine a une signification pour une implémentation, et aussi parce qu’il est légal que le même nom apparaisse deux fois dans la chaîne de requête, alors qu’il n’est pas légal pour les mappages d’avoir des clés en double.

Listes de membres de la collection

Pour l’utilisation de .NET, WwwFormUrlDecoder a les API projetées d’un IReadOnlyList générique avec une contrainte IWwwFormUrlDecoderEntry . Les API disponibles pour chaque langue sont indiquées dans les listes de membres.

Pour JavaScript, WwwFormUrlDecoder a les membres affichés dans les listes de membres. En outre, WwwFormUrlDecoder prend en charge une propriété length , les membres de Array.prototype et l’utilisation d’un index pour accéder aux éléments.

Utilisation de .NET

Le code .NET ne peut pas utiliser la classe Windows.Foundation.Uri (vous utilisez System.Uri à la place). Mais le code .NET peut et doit utiliser WwwFormUrlDecoder. L’utilisation de WwwFormUrlDecoder est plus simple et moins sujette aux erreurs que le fractionnement de chaînes sur les caractères « & » et « = ». Cela se complique à cause de l’encodage. Pour utiliser WwwFormUrlDecoder, appelez le constructeur WwwFormUrlDecoder en transmettant la valeur Query de votre System.Uri. Cela initialise un nouvel objet WwwFormUrlDecoder. Utilisez ensuite GetFirstValueByName pour rechercher un paramètre de chaîne de requête nommé spécifique. Ou, si vous ne savez pas ce qui va se trouver dans la chaîne de requête, énumérez au-dessus de la collection pour déterminer les paramètres de chaîne de requête disponibles.

Utilisez l’interface IWwwFormUrlDecoderEntry pour le type des éléments de la collection (il s’agit de la façon dont les éléments sont typés par IndexOf). N’utilisez pas la classe WwwFormUrlDecoderEntry , elle n’est pas disponible pour l’utilisation de .NET.

WwwFormUrlDecoder a également les API projetées d’un IReadOnlyList générique avec une contrainte IWwwFormUrlDecoderEntry , mais ces API ne sont pas couramment utilisées.

Notes

System.Web.HttpUtility.ParseQueryStringn’est pas disponible pour .NET pour Windows Runtime application. WwwFormUrlDecoder est le remplacement recommandé.

Énumération de la collection en C# ou Microsoft Visual Basic

WwwFormUrlDecoder étant énumérable, vous pouvez utiliser la syntaxe propre au langage, telle que foreach en C# pour énumérer les éléments de la collection. Le compilateur effectue le cast de type pour vous et vous n’aurez pas besoin d’effectuer un cast IEnumerable<IWwwFormUrlDecoderEntry> vers explicitement. Si vous devez effectuer un cast explicite, par exemple si vous souhaitez appeler GetEnumerator, effectuez un cast en IEnumerable<T> avec une contrainte IWwwFormUrlDecoderEntry .

Constructeurs

WwwFormUrlDecoder(String)

Crée et initialise une nouvelle instance de la classe WwwFormUrlDecoder.

Propriétés

Size

Obtient le nombre de paires nom-valeur dans la chaîne de requête d’URL actuelle.

Méthodes

First()

Obtient un itérateur qui représente la paire prénom-valeur dans la chaîne de requête d’URL actuelle.

GetAt(UInt32)

Obtient la paire nom-valeur à l’index spécifié dans la chaîne de requête d’URL actuelle.

GetFirstValueByName(String)

Obtient la première paire nom-valeur qui a le nom spécifié, comme obtenu à partir de la chaîne de requête URI (Uniform Resource Identifier) de construction.

GetMany(UInt32, IWwwFormUrlDecoderEntry[])

Obtient des paires nom-valeur commençant à l’index spécifié dans la chaîne de requête URL actuelle.

IndexOf(IWwwFormUrlDecoderEntry, UInt32)

Obtient une valeur indiquant si l’IWwwFormUrlDecoderEntry spécifié se trouve à l’index spécifié dans la chaîne de requête d’URL actuelle.

S’applique à

Voir aussi