Posted by, Eran Hefer.
As you may already know, with Ajax we can easily pass simple or custom object from the server to the client.
In this article, I'll show a way to do the opposite: passing JS objects from the client code, to the server (Ajax method).
Here is the client (JavaScript) Code:
//The JavaScript client side function
function PassToServer()
{
//declare the new JS object
var student = new Object();
//insert some values
student.First_Name = "Jon";
student.Last_Name = "Smith";
student.Grade = 100;
//pass the JS object to the server.
//'JSobjects' is the page name.
//'GetFromClient' is the ajax method name on the server.
var bothNames = JSobjects.GetFromClient(student).value;
//display the returned value from the server
alert(bothNames);
}
Here is the Server (C#) Code:
//The Ajax method on the server side
[AjaxPro.AjaxMethod]
public string GetFromClient(AjaxPro.JavaScriptObject jsObject)
//get the data members values from the JavaScript object.
//the 'Key' is the name of the data member that was declared at the client.
//we need to remove the " from the string value.
string first_name = jsObject["First_Name"].Value.Replace("\"","");
string last_name = jsObject["Last_Name"].Value.Replace("\"", "");
int grade = Int32.Parse(jsObject["Grade"].Value);
//return back the first name + last name.
return first_name + " " + last_name;
Note that you must download the Ajax.NET Professional framework to use this code.