Class Examples
The first example will return an own class that has some public fields to be used on the client-side JavaScript.
public class MyClass
{
public string FirstName = "";
public string FamilyName = "";
public int Age = 0;
}
It is also working if you inherit from a class and add your own properties to the new class.
public class MyInheritedClass : MyClass
{
public double SizeInMeters = 0.0;
public Guid ID = Guid.Empty;
}
Passing a own class back to the server
Next we want to pass the MyClass object back to the server. The first call will get an MyClass object from the server like we have done above. Then we want to modify the .FirstName property on the client, submit the object to the server, modify the .FamilyName there and see the results.
function doTest3() {
// synchronous call to the server-side method to get an MyClass object
var p = AJAXDemo.Examples.Classes.Demo.GetMyClass().value;
p.FirstName = "CLIENT-SIDE CHANGE"; // change one property
AJAXDemo.Examples.Classes.Demo.PutMyClass(p, doTest3_callback);
p = null;
}
[AjaxMethod]
public MyClass PutMyClass(MyClass c)
{
c.FamilyName = "SERVER-SIDE CHANGE"; // change one property
return c;
}
Create converters for your classes
One new feature is the use of converters to serialize a .NET object or deserialize a JSON string. In this example I am using a custom IJavaScriptConverter. This converter will return a new class on the client-side JavaScript that may have more properties or methods that are not returned using the built-in custom object converter (which will only return public fields and properties).
function doTest4() {
var p = AJAXDemo.Examples.Classes.Demo.GetPerson().value; // synchronous call to the server-side method
// access the properties of the Person object here
alert(p.FirstName);
// Now, we want to save it, we call the save method of the instance
// and get a boolean if succeded.
var b = p.save();
}
No comments:
Post a Comment