Gestion des signes plus dans les chaînes de requête ASP.NET
Lorsque vous travaillez avec C# et ASP.NET, la transmission de paramètres via des chaînes de requête URL peut présenter des défis, en particulier lorsqu'un paramètre inclut un signe plus ( ). Le signe plus est interprété comme un espace, ce qui entraîne sa perte ou sa mauvaise interprétation.
Cela se produit parce que le signe plus agit comme un délimiteur d'espace dans le codage d'URL standard. Pour garantir que le signe plus est correctement transmis et reçu, il doit être codé en URL. L'équivalent codé en URL d'un signe plus est +
.
La solution consiste à remplacer toutes les instances de
par +
avant d'envoyer la chaîne de requête. Dans ASP.NET, la méthode Server.UrlEncode
constitue un moyen pratique d'y parvenir.
Voici comment utiliser Server.UrlEncode
pour encoder correctement un paramètre de chaîne de requête contenant un signe plus :
<code class="language-csharp">string encodedValue = Server.UrlEncode(Request.QueryString["new"]); // Encodes '+' to '%2B'</code>
Cet extrait de code prend la valeur du "nouveau" paramètre de chaîne de requête, l'encode en utilisant Server.UrlEncode
et stocke le résultat encodé dans encodedValue
. Cela garantit que le signe plus est correctement représenté et évite la perte de données. Pensez à effectuer cet encodage avant d'envoyer la requête au serveur. Cela garantira que le serveur interprète correctement le signe plus comme un caractère littéral dans la valeur du paramètre.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!