将表单中的多个值字段发布到aspx Web表单的高效轻量方式

时间:2013-05-30 21:11:52

标签: javascript asp.net json

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

1 个答案:

答案 0 :(得分: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
}

如果您在页面上使用scriptmanager,则可以将PageMethods与scriptmanager结合使用。有关详细信息,请参阅此link