Response.Redirectの引数の文字列にURLに使えない文字が含まれていると自動的にURLエンコーディングします。
例えば,が入っている場合です。
Response.Redirect("~/hoge.aspx?fuga=abc,def")
すると~がページ名の一部として認識されて404エラーになります。?や=もページ名の一部として認識されてクエリ文字列が取得できなくなります。
これを防ぐには事前にURLエンコードします。
Response.Redirect("~/hoge.aspx?fuga=" + HttpUtility.UrlEncode("abc,def"))