strPb1.Length sẽ luôn lớn hơn 0 trong mã của bạn. Nếu không có dấu phẩy Split (',') sẽ vẫn trả về một mảng chứa chuỗi ban đầu. Do đó, cài đặt giá trị ban đầu của bạn là không cần thiết.
Bản thân QueryString và split () có vẻ ổn. Có lẽ vấn đề nằm ở chỗ khác trong mã của bạn hoặc chuỗi truy vấn bạn đang sử dụng. Nếu bạn định thêm lại dấu phẩy vào chuỗi của mình, tại sao lại xóa chúng?
Ngoài ra, một giải pháp thay thế cho việc sử dụng một tham số được phân tách bằng dấu phẩy là sử dụng lại cùng một tham số.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
}
}