strPb1.Length हमेशा आपके कोड में 0 से अधिक होगी। यदि कोई अल्पविराम नहीं हैं तो स्प्लिट (',') अभी भी मूल स्ट्रिंग वाली एक सरणी लौटाएगा। इसलिए, आपके मूल्य की प्रारंभिक सेटिंग आवश्यक नहीं है।
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
}
}