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);

この "123456,654311,987654" のような文字列がcityに表示されます。cityID で配列を取得します。

于 2013-01-30T04:59:09.573 に答える