strPb1.Length винаги ще бъде по-голяма от 0 във вашия код. Ако няма запетаи Split(',') пак ще върне масив, съдържащ оригиналния низ. Следователно първоначалната ви настройка на стойност не е необходима.
Самите QueryString и split() изглеждат добре. Може би проблемът е другаде във вашия код или в низа на заявката, който използвате. Ако възнамерявате да добавите запетаите обратно във вашия низ, защо да ги премахвате?
Също така, алтернатива на използването на параметър, разделен със запетая, е повторното използване на същия параметър.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
}
}