Reputation: 33501
I need to pass an array from JavaScript to a page method in C#. I have tried using a parameter in the C# method of IList and also a string[] array. Both ways throw an exception "cannot convert an object of type system.string to xxx", where xxx is the parameter type in the C# method. I am passing the object from jQuery as a json object, and looks like it is coming through properly. Here is what it looks like:
{"testNumbers":"5555555555,3333333333,4444444444"}
What am I doing wrong here?
EDIT: C# Code:
[WebMethod()]
public static void ProcessAction(string[] testNumbers)
{
var dataProvider = new DataProvider();
dataProvider.ProcessAction(testNumbers);
}
Upvotes: 2
Views: 8200
Reputation: 1613
{"testNumbers":["5555555555","3333333333","4444444444"]}
should i think do the trick along with a deserialiser. see http://www.json.org/
which has a great graphical representation of the json syntax.
Upvotes: 0
Reputation: 13024
You need to use one of the .NET JSON Deserializers:
http://msdn.microsoft.com/en-us/library/bb299886.aspx
Upvotes: 3
Reputation: 88846
Hmm, two things:
Try this instead:
{"testNumbers": [5555555555,3333333333,4444444444]}
Upvotes: 10