WEB开发网
开发学院网页设计JavaScript MVC+JQuery开发B/S系统:②表单绑定 阅读

MVC+JQuery开发B/S系统:②表单绑定

 2009-09-14 00:00:00 来源:WEB开发网   
核心提示:逻辑比较复杂的Form绑定起来比较麻烦,这些都是要自己写代码,MVC+JQuery开发B/S系统:②表单绑定,而简单的我们可以写一个通用的进行处理,不需要反复的 xxx.Text = "xxx" ..MVC有自己的自动映射功能,由于Js的Dictionary区分大小写,所以我们这些名字也对大小写敏感

逻辑比较复杂的Form绑定起来比较麻烦,这些都是要自己写代码。而简单的我们可以写一个通用的进行处理。不需要反复的 xxx.Text = "xxx" ..

MVC有自己的自动映射功能,我们这里用jQuery来遍历Controls进行绑定。

如果用过asp开发过系统的人都知道以前取表单的值都是request.form("controlName"),用到的是name而不是id。

所以我们的表单在制作的时候元素的Name值不能没有。 为了能够写通用的方法,我们约定所有的元素的name 是 "cName" 格式 ,"c"+"字段名",id自己随便。

由于Js的Dictionary区分大小写,所以我们这些名字也对大小写敏感,包括上一节的列表绑定都是这样。

Code

$.fn.bindForm = function(model) {
    if (model == undefined || model == null) {
        return;
    }
    var formId = this.attr("id");
    $("input,textarea,select", "#" + formId).each(function() {
        var cname = $(this).attr("name");
        var cid = $(this).attr("id");

        if (cname == "")
            return;
        if (cid == "") {
            cid = $(this)[0].tagName + "[name='" + cname + "']";
            $(this).attr("id", cname);
        } else
            cid = "#" + cid;
        $(cid).bindControl(model[cname.replace("c", "")], formId);
    });
    return this;

编缉推荐阅读以下文章

  • MVC+Jquery开发B/S系统:③表单提交
  • MVC+Jquery开发B/S系统:①列表绑定

1 2  下一页

Tags:MVC JQuery 开发

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接