SHAKEEL HUSSAIN
SHAKEEL HUSSAIN

Reputation: 145

passing array via query string

I am passing a javascript array via Request.QueryString["cityID"].ToString(), but it shows me an error of "invalid arguments":

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

The method declaration looks like:

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

Upvotes: 8

Views: 27518

Answers (3)

Ajay
Ajay

Reputation: 6590

try this it's so simple.

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

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

You get string like this "123456,654311,987654" in city. You get array in cityID.

Upvotes: 0

Tim M.
Tim M.

Reputation: 54378

If your query string parameter value looks like: "123456,654311,987654"

string[] ids = Request.QueryString["cityID"]
    .Split( new[] {","}, StringSplitOptions.RemoveEmptyEntries );

Upvotes: 2

Habib
Habib

Reputation: 223247

Your method addOfficeOnlyDiffrent is expecting a string array arguement in cityID whereas you are passing a single string type object to your method in call. I believe your cityID is a single string so you can remove the array from the method declaration. In your method call.

Request.QueryString["cityID"].ToString()

the above represents a single string, not a string array.

If your query string contains a string array, then values are probably in string representation, separated by some character, for example ,. To pass that string to the method, you can call string.Split to split the string to get an array.

EDIT: From your comment, that your query string contains:

Request.QueryString["cityID"].ToString() (123456,654311,987654) 

You can do the following.

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

Upvotes: 7

Related Questions