7

我通过 传递一个 javascript 数组Request.QueryString["cityID"].ToString(),但它向我显示“无效参数”的错误:

blObj.addOfficeOnlyDiffrent(Request.QueryString["cityID"].ToString(),
                            Request.QueryString["selectTxtOfficeAr"].ToString());

方法声明如下所示:

public string addOfficeOnlyDiffrent(string[] cityID, string selectTxtOfficeAr) { }
4

3 回答 3

6

您的方法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());
于 2013-01-30T04:47:00.420 回答
2

如果您的查询字符串参数值如下所示:“123456,654311,987654”

string[] ids = Request.QueryString["cityID"]
    .Split( new[] {","}, StringSplitOptions.RemoveEmptyEntries );
于 2013-01-30T04:53:48.693 回答
0

试试这个很简单

 string city = Request.QueryString["cityID"];

 string[] cityID =city.Split(new char[] {','},StringSplitOptions.RemoveEmptyEntries);

你在city中得到这样的字符串 "123456,654311,987654" 。您在 cityID 中获得数组。

于 2013-01-30T04:59:09.573 回答