strPb1.Length vil altid være større end 0 i din kode. Hvis der ikke er kommaer, vil Split(',') stadig returnere et array, der indeholder den originale streng. Derfor er din oprindelige indstilling af værdi ikke nødvendig.
Selve QueryString og split() ser ud til at være i orden. Måske ligger problemet et andet sted i din kode eller den forespørgselsstreng, du bruger. Hvis du vil tilføje kommaerne tilbage i din streng, hvorfor så fjerne dem?
Et alternativ til at bruge en kommasepareret parameter er også at genbruge den samme parameter.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
}
}