[英]How to use JavaScript Object at Server Side in Asp.Net?
嗨,我必须通过在asp.net中从客户端到服务器端调用方法来在服务器端传递javascript对象。
我就是这样 我在方法中传递javascript对象。 现在,我想在服务器端代码中使用此对象,但是我无法执行此操作。
到目前为止,我已经这样做了,如果我做错了,请建议我。
aspx代码:
<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>
服务器端代码:
[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文件:
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>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.