I create a custom JavaScript object on the client side attempted to send to a webmethod and I kinda got it - but do not know how to get the date. The test method looks like this:
[WebMethod]
public string TestMethod(Object obj)
{
return "test";
}
So how can cast this in to the right object to access the data? I can see the contents if I watch it but don't know how to cast it to an object I can use it
Assuming your javascript object is something like the following
{index:-1,fileId:-1,fileExt:\"xls\",issueDate:\"1 Jan 2007\"}
you can create a structure in your serverside code to handle it
Public Structure Doc
Public index As Integer
Public fileId As Long
Public fileExt As String
Public issueDate As Date
End Structure
<WebMethod()> _
Public Function SaveDocs(ByVal docs As Doc()) As Doc()
One more question - if you don't mind:
If my JSON contains an Array - Can you tell how to make that happen? :
My BO:
[Serializable]public class Supplier : Base {public string Name {get;set; }public string Phone {get;set; }public string Fax {get;set; }public string Website {get;set; }public string Status {get;set; }public Site Site {get;set; }public DateTime Since {get;set; }public Array Contacts {get;set; }public Supplier() {this.Site=new Site();this.Contacts =new Member[0]; } }Member is also another Object.
My JSON looks something like:
Supplier = {"ID":-1,"Name":"","Phone":"","Website":"","Site":{"Address1":"","Address2":"","City":"","State":{"Name":"","Abbreviation":"","ID":-1},"ZipCode":""},"Contacts":[]};
Its the Contacts that is tripping me up.
Asp.net ajax does the trick for us, I mean the serialization/deserialization.
But for some reason it not filling all the objects - I check the JS object prior to calling the webmethod and the fields are populated but when it casted in the server object - some properties are not filled. Also, my other question is how to pass the array object that is a property of the JS object.
My mistake - I was expecting to receive the parent object and passing the child.
No comments:
Post a Comment