Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Es können nicht mehrere Werte in der Abfragezeichenfolge in ASPX an den Bericht zur Laufzeit übergeben werden

strPb1.Length wird in Ihrem Code immer größer als 0 sein. Wenn keine Kommas vorhanden sind, gibt Split(',') dennoch ein Array zurück, das die ursprüngliche Zeichenfolge enthält. Daher ist Ihre anfängliche Einstellung des Werts nicht erforderlich.

Der QueryString und split() selbst scheinen in Ordnung zu sein. Vielleicht liegt das Problem an einer anderen Stelle in Ihrem Code oder der von Ihnen verwendeten Abfragezeichenfolge. Wenn Sie die Kommas wieder in Ihre Zeichenfolge einfügen, warum sollten Sie sie dann entfernen?

Eine Alternative zur Verwendung eines durch Kommas getrennten Parameters ist die Wiederverwendung desselben Parameters. 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
    }
}