JSON进阶六-自动组装
2010-09-14 13:40:37 来源:WEB开发网核心提示: 您可以看到,上述HTML中,JSON进阶六-自动组装(3),我用红色标记出来的type为list,它代表了一个子集合,JsonSerializer.JsonToTab("#tab1", json);// 重写验证类,len是对班级名做验证,同时大家也应该看到我用绿色标记
您可以看到,上述HTML中,我用红色标记出来的type为list,它代表了一个子集合。同时大家也应该看到我用绿色标记出来的地方(name="Score.Chinese"),它在JSON中表示:{Score:{Chinese:""}} 也就是说JsonSerializer不仅支持list还能够支持对象的对象,蓝色标记的Template属性是在反向绑定时使用的(表示要克隆行模板,是一个‘#’+ID)。同时您也应该看到了黄色标记的msg了把,对了这个就是验证提示信息(如果有特殊的需要,可以重写JsonSerializer.Message()),在看看深红色标记的dataType表示验证数据类型,而验证的代码使用的是Validator这个JSON,您可以按自己需求扩充,详情可以参考下面的JS示例代码。
JavaScript:
function AddStudent() { // 找到template下的DIV既template1(行模板) var template = $("#template").children("div").clone(); $("#Stus").append(template); } function GetJson() { var json = JsonSerializer.TableToJson("#tab1"); if (JsonSerializer.IsAllow) { $.ajax({ type: "POST", url: '<%= Request.Url.AbsolutePath %>', data: "tabs=" + json, success: function(msg) { alert(msg); } }); } } // 删除学生信息(行) function DelStudent(obj) { $(obj).parent("samp").parent("div").remove(); } $(document).ready( function() { // 后台价值来的JSON数组结构的字符串,当然可以说从数据库查询而得,我这里是写死的。 var json = JSON2.parse('<%= this.json %>'); // 绑定前台ID为tab1的结构中。 JsonSerializer.JsonToTab("#tab1", json); // 重写验证类,len是对班级名做验证,text是对简介做验证,您可以通知扩充满足自己的需求 $.extend(Validator, { len: function(data) { var reg = new RegExp(/[0-9,a-z,A-Z]{6}/); return reg.test(data); }, text: function(date) { return date && date.length < 1000; } }); } );
更多精彩
赞助商链接