简体   繁体   中英

How to use JavaScript Object at Server Side in Asp.Net?

Hi I have to pass a javascript object at server side by calling a method from client side to server side in asp.net.

I'm doing like this. I'm passing javascript object in a method. now I want to use this object in server side code, But I'm not able to do this.

I have done this till now, please suggest me If I'm doing something wrong.

aspx code:

 <html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
 <script src="Scripts/jquery.min.js" type="text/javascript"></script>
    <script type="text/javascript">
//        var JsonNewOne = {
//            returnHeader: { "ID": -1, "OrderHeaderID": 5, "StatusID": 1, "DeliveryCharge": 0, "CreatedBy": "77777777", "ApprovedBy": "77777777" }
        //        };
        var JsonNewOne = { "forename": "Phil", "surname": "Curnow", "age": 41 };
        var jsonobj = eval(JsonNewOne);
        var abc = JSON.stringify(jsonobj);

        function GetServerDate(format) {
            $.ajax({
                type: "post",
                url: "JSONTest.aspx/GetServerDate",
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                data: '{"format":"' + format + '"}',
                success: function (result) {
                    OnSuccess(result.d);
                },
                error: function (xhr, status, error) {
                    OnFailure(error);
                }
            });
        }
        function OnSuccess(dateTime) {
            if (dateTime) {
                document.getElementById("currentDate").innerHTML = dateTime;
            }
        }
        function OnFailure(error) {
            alert(error);
        }

    </script> 

</head>
<body style = "font-family:Arial; font-size:10pt">
<form id="form1" runat="server">
<div>
    <input type="button" value="Show UTC Server Time" onclick="GetServerDate(JsonNewOne)" />
    <input type="button" value="Show Local Server Time" onclick="GetServerDate(JsonNewOne)" />
    <label id="currentDate">
        This is current Date Time in Web Server</label>
</div>
</form>
</body>
</html>

Server Side Code:

 [System.Web.Services.WebMethod]
    public static string GetServerDate( string format)
    {
        try
        {
            DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(Person));
            MemoryStream stream = new MemoryStream(Encoding.UTF8.GetBytes(format));
            Person obj = (Person)ser.ReadObject(stream);


        }
        catch (Exception ex)
        {
            return null;
        }
    }

Person.cs File:

public class Person
{
    public string forename { get; set; }
    public string surname { get; set; }
    public int age { get; set; }
}

    var JsonNewOne = { "forename": "Phil", "surname": "Curnow", "age": 41 };
    var jsonobj = eval(JsonNewOne);
    var abc = JSON.stringify(jsonobj);

    function GetServerDate(abc) {
        $.ajax({
            type: "post",
            url: "JSONTest.aspx/GetServerDate",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            data: '{"format":"' + abc + '"}',
            success: function (result) {
                OnSuccess(result.d);
            },
            error: function (xhr, status, error) {
                OnFailure(error);
            }
        });
    }
    function OnSuccess(dateTime) {
        if (dateTime) {
            document.getElementById("currentDate").innerHTML = dateTime;
        }
    }
    function OnFailure(error) {
        alert(error);
    }

</script> 

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM