我可以看到许多问题与相反的方向
我的问题是我如何 pack up值?
var KeyName = "name" or.. $(ControlId).attr("id")
var ValName = $(ControlId).val()
然后用ajax发布该值,当然是在序列化之后(如果需要的话)
var CS_Pckg = Sys.Serialization.JavaScriptSerializer.serialize(DictionaryLike_Package);
ajaxPost(CS_Pckg);
...some ajax function
它就像一个数组吗?
jquery具有"序列化"方法,您可以将其用于序列化html表单:http://api.jquery.com/serialize/
但是,该方法序列化为get string;如果您想要一组名称/值对对象,请签出Serializearray:http://api.jquery.com/serializearray/
如果两个都没有产生您想要的输出,那么您几乎只需要自己进行序列化即可。您可以使用jQuery的每种方法通过一组元素进行迭代,然后可以从其中提取所需的任何信息。完成后,您拥有一个带有所有数据的JavaScript对象,您可以使用JSON.stringify(thatObject);
。
这是一个快速示例:
var serializedData = {};
$('#yourForm').children().each(function(i, elem) {
var $elem = $(elem);
serializedData[$elem.attr('name')] = $elem.val();
});
alert("You're serialized JSON is: " + JSON.stringify(serializedData));
(较早的选项没有示例,因为它们与var serialized = $('#yourForm').children().serialize();
一样简单。)