0

好的,我会尝试更好地解释我要问的问题:我有一个 aspx 网络表单,我用它来创建一个实体,简单的数据捕获。该实体可以有许多以一对多关系附加到它的子实体,并且这些子实体是从相同的表单创建的。我不想使用繁重的 asp.net 组件,例如数据列表或任何自定义组件来捕获它们。我目前这样做的方式是在页面中打开一个对话框,该对话框托管一个组合框,其中填充了带有 ajax 调用的选项。一旦用户选择其中一个条目并保存,我将一个条目添加到一个 javascript 集合中,我使用它来保留用户选择并将它们显示在客户端的列表中。当用户提交我的表单时,我如何提交这个集合并在服务器上重新解析它?我正在考虑使用 json 来存储、序列化然后反序列化。这是一个好方法吗?

4

1 回答 1

1

您可以使用以下方式发布它

var postData = function (myobjectinstance){
var objString = JSON.stringify(myobjectinstance);
$.ajax({
    type: 'POST',
    url: 'your url',
    data: objString,
    success: function (){
        alert('did it');
    },
    dataType: 'json'
});

};

然后在带有 json.net 的服务器上,您可以反序列化 json 字符串

// You can use JSON.Net
public static void PostMethod(string jsonstring)
{
    var restoredObject  = JsonConvert.DeserializeObject<MyObjectType>(jsonstring)

    // do something with your object
}

或者,如果您在页面上使用脚本管理器,则可以将 PageMethods 与脚本管理器结合使用。请参阅此链接了解更多信息。

于 2013-05-30T22:07:12.933 回答