通过查询字符串传递数组
本文关键字:数组 字符串 查询 | 更新日期: 2023-09-27 17:56:41
我正在通过Request.QueryString["cityID"].ToString()
传递一个javascript数组,但它向我显示"无效参数"的错误:
blObj.addOfficeOnlyDiffrent(Request.QueryString["cityID"].ToString(),
Request.QueryString["selectTxtOfficeAr"].ToString());
方法声明如下所示:
public string addOfficeOnlyDiffrent(string[] cityID, string selectTxtOfficeAr) { }
您的方法addOfficeOnlyDiffrent
需要cityID
中的字符串数组参数,而您将单个string
类型对象传递给调用中的方法。我相信您的cityID
是一个字符串,因此您可以从方法声明中删除数组。在您的方法调用中。
Request.QueryString["cityID"].ToString()
上面表示单个字符串,而不是字符串数组。
如果查询字符串包含字符串数组,则值可能采用字符串表示形式,由某些字符分隔,例如 ,
。若要将该字符串传递给方法,可以调用 string.Split
来拆分字符串以获取数组。
编辑:从您的注释中,您的查询字符串包含:
Request.QueryString["cityID"].ToString() (123456,654311,987654)
您可以执行以下操作。
string str = Request.QueryString["cityID"].ToString();
string[] array = str.Trim('(',')').Split(',');
blObj.addOfficeOnlyDiffrent(array,
Request.QueryString["selectTxtOfficeAr"].ToString());
如果查询字符串参数值如下所示:"123456,654311,987654"
string[] ids = Request.QueryString["cityID"]
.Split( new[] {","}, StringSplitOptions.RemoveEmptyEntries );
试试这个,它是如此简单。
string city = Request.QueryString["cityID"];
string[] cityID =city.Split(new char[] {','},StringSplitOptions.RemoveEmptyEntries);
你在城市中得到这样的字符串"123456,654311,987654"。你在城市ID中得到数组。