Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Impossible de transmettre plusieurs valeurs dans la chaîne de requête dans .aspx pour signaler au moment de l'exécution

strPb1.Length sera toujours supérieur à 0 dans votre code. S'il n'y a pas de virgule, Split(',') renverra toujours un tableau contenant la chaîne d'origine. Par conséquent, votre réglage initial de la valeur n'est pas nécessaire.

Le QueryString et le split() lui-même semblent aller bien. Peut-être que le problème réside ailleurs dans votre code ou dans la chaîne de requête que vous utilisez. Si vous comptez rajouter des virgules dans votre chaîne, pourquoi les supprimer ?

En outre, une alternative à l'utilisation d'un paramètre délimité par des virgules consiste à réutiliser le même paramètre.www.test.com/?pm1=test1&pm1=test2&pm1=test3

string[] strPb1 = Request.QueryString.GetValues("pm1");
if(strPb1 != null && strPb1.Length > 0)
{
    for(int i = 0; i != strPb1.Length; i++)
    {
        //Code here
    }
}