C# 如何在Asp.Net中使用服务器端的JavaScript对象?
嗨,我必须通过在asp.net中从客户端到服务器端调用一个方法,在服务器端传递一个javascript对象 我就是这样做的。我在一个方法中传递javascript对象。现在我想在服务器端代码中使用这个对象,但我不能这样做 我到现在为止都是这样做的,如果我做错了什么,请告诉我 aspx代码:C# 如何在Asp.Net中使用服务器端的JavaScript对象?,c#,javascript,asp.net,C#,Javascript,Asp.net,嗨,我必须通过在asp.net中从客户端到服务器端调用一个方法,在服务器端传递一个javascript对象 我就是这样做的。我在一个方法中传递javascript对象。现在我想在服务器端代码中使用这个对象,但我不能这样做 我到现在为止都是这样做的,如果我做错了什么,请告诉我 aspx代码: <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></tit
<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>
Person.cs文件:
public class Person
{
public string forename { get; set; }
public string surname { get; set; }
public int age { get; set; }
}
var JsonNewOne={“名字”:“菲尔”,“姓氏”:“Curnow”,“年龄”:41};
var jsonobj=eval(JsonNewOne);
var abc=JSON.stringify(jsonobj);
函数GetServerDate(abc){
$.ajax({
类型:“post”,
url:“JSONTest.aspx/GetServerDate”,
contentType:“应用程序/json;字符集=utf-8”,
数据类型:“json”,
数据:“{”格式“'+abc+“}”,
成功:功能(结果){
成功(结果d);
},
错误:函数(xhr、状态、错误){
失败(错误);
}
});
}
函数OnSuccess(日期时间){
如果(日期时间){
document.getElementById(“currentDate”).innerHTML=dateTime;
}
}
功能失效(错误){
警报(错误);
}
什么意思是“但我不能这么做。”?你有什么例外吗?或者反序列化实例为空?或者format
作用中的变量为null(未绑定)?在Person obj=(Person)ser.ReadObject(stream)行中获取此异常;“ex={”反序列化PaymentControllerGUI.Person类型的对象时出错。遇到意外字符“o”。“}”请粘贴格式
变量的值(您可以在调试时看到它)在Ajax的数据
属性中使用的格式
变量是什么?基于您的代码,在调试即将到来的[object object]时,它将更有意义data:abc,
。欢迎使用SO!请始终在代码片段中添加一些直觉。欢迎使用StackOverflow。最好准确地描述您的建议是什么,而不是期望人们逐行比较代码并自己找出答案
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>