strPb1.Length zal altijd groter zijn dan 0 in uw code. Als er geen komma's zijn, zal Split(',') nog steeds een array retourneren die de originele tekenreeks bevat. Daarom is uw initiële waardeinstelling niet nodig.
De QueryString en split() zelf lijken in orde te zijn. Misschien ligt het probleem ergens anders in je code of de querystring die je gebruikt. Als je de komma's weer aan je string wilt toevoegen, waarom zou je ze dan verwijderen?
Een alternatief voor het gebruik van een door komma's gescheiden parameter is het hergebruiken van dezelfde 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
}
}