通过查询字符串传递数组

SHA*_*AIN 7 c# asp.net

我正在传递一个javascript数组Request.QueryString["cityID"].ToString(),但它显示"错误的参数"错误:

blObj.addOfficeOnlyDiffrent(Request.QueryString["cityID"].ToString(),
                            Request.QueryString["selectTxtOfficeAr"].ToString());
Run Code Online (Sandbox Code Playgroud)

方法声明如下:

public string addOfficeOnlyDiffrent(string[] cityID, string selectTxtOfficeAr) { }
Run Code Online (Sandbox Code Playgroud)

Hab*_*bib 6

addOfficeOnlyDiffrent正在期待一个字符串数组争论,cityID而您正在将一个string类型对象传递给调用中的方法.我相信你cityID是一个单独的字符串,所以你可以从方法声明中删除数组.在你的方法调用中.

Request.QueryString["cityID"].ToString()
Run Code Online (Sandbox Code Playgroud)

上面代表一个字符串,而不是字符串数组.

如果您的查询字符串包含字符串数组,则值可能是字符串表示形式,例如,由某个字符分隔,.要将该字符串传递给方法,可以调用string.Splitsplit string来获取数组.

编辑:从您的评论,您的查询字符串包含:

Request.QueryString["cityID"].ToString() (123456,654311,987654) 
Run Code Online (Sandbox Code Playgroud)

您可以执行以下操作.

string str = Request.QueryString["cityID"].ToString();
string[] array = str.Trim('(',')').Split(',');
blObj.addOfficeOnlyDiffrent(array,
                            Request.QueryString["selectTxtOfficeAr"].ToString());
Run Code Online (Sandbox Code Playgroud)