2017-02-06 1 views
1

Est-ce que quelqu'un sait comment envoyer un champ avec des parenthèses par un formulaire codé par URL en utilisant flurl?Utilisation de caractères C# dans la requête codée url de formulaire dans flurl

Exemple: Je veux envoyer le foo champ [bar] avec la valeur « foo » comme celui-ci

var response = await "https://server/request" 
    .WithHeader("Header1", "headerValue") 
    .PostUrlEncodedAsync(new 
    { 
     foo[bar] = "foo" 
    }) 
+0

Ceci n'est pas accepté par C# –

Répondre

1

Les crochets ne sont pas autorisés dans les identificateurs C#, donc l'utilisation d'un objet anonyme pour représenter un nom/La paire de valeur ne fonctionnera pas ici. Cependant, dans tous les cas où Flurl analyse un objet en paires nom/valeur, il donne un traitement spécial aux dictionnaires. Donc, vous pouvez le faire:

var response = await "https://server/request" 
    .WithHeader("Header1", "headerValue") 
    .PostUrlEncodedAsync(new Dictionary<string, string>() 
    { 
     { "foo[bar]", "foo" } 
    });