Javascrpit mvc 简单的增添删除查找

来源:互联网 发布:pcr数据分析为什么用ct 编辑:程序博客网 时间:2024/06/05 15:05
1,读取数据库显示在前台网页,利用json进行传值 
Json格式介绍:http://blog.csdn.net/sunlovefly2012/article/details/10255757
后台读取list后转换为easyui格式的Json:

保证data-options="field:'EnterpriseClass_ID'中的变量的名字一致即可;

 public JsonResult getinfobyid()        {            EnterpriseInfoService _enterpriseinfoservice = new EnterpriseInfoService();            var list = _enterpriseinfoservice.EnterpriseInfoGet(10001);            if (list.Count() == 0)            {                EnterpriseClass temp = new EnterpriseClass();                temp.EnterpriseClass_ID = 0;                temp.EnterpriseClass_Name = "Null";                list.Add(temp);            }            var myjson = new { total = list.Count(), rows = list };            return Json(myjson, JsonRequestBehavior.AllowGet);        }

前台得到json后,datagrid利用 data-options="field:'EnterpriseClass_ID'进行显示可以再data-option 里面设置url指向返回值为json的函数也可以利用

  function getData() {             $('#main_dg').datagrid({                 url: '@Url.Action("getclasslist")',                method: 'get'             });            // alert("caca");        }        $(document).ready(function () {            getData();                   })

在加载网页的时候进行读入数据

     <table id="main_dg" title="角色列表" class="easyui-datagrid"            method="get" data-options="onClickRow:onclick"            toolbar="#toolbar" pagination="true" idField="id"            rownumbers="true" fitColumns="true"  singleSelect="true">        <thead>            <tr>                <th data-options="field:'EnterpriseClass_ID',width:80">企业类别编号</th>                <th data-options="field:'EnterpriseClass_Name',width:100">企业类别名称</th>                <th data-options="field:'EnterpriseClass_Option',width:80,align:'right'">备注</th>            </tr>        </thead>    </table>

数据读入后可以利用var row = $('#main_dg').datagrid('getSelected');来读取选的的列的属性,并且可以load的对应的form中,前提是name名字一致

 function edit_class()    {        var row = $('#main_dg').datagrid('getSelected');        if (row) {                  $('#edit_dlg').dialog('open').dialog('setTitle', '权限修改');            $('#edit_fm').form('load', row);            url = 'SaveRoleEdit';        }    }

添加删除以及查找的时候可以利用 $.post进行传值,传给后台controller,然后按照名字进行匹配赋值。get是利用?name= 进行传值。显式传值。post方式是利用特定的格式进行传值。post大小无限制
get传值:适合少量数据,因为是利用url进行传值,所以不安全,数据大小有限

function deleteclass() {        var row = $('#main_dg').datagrid('getSelected');          //得到datagrid的row的编号,编号从0开始计算。        if (row) {            $.messager.confirm('Confirm', 'Are you sure you want to destroy this user?', function (r) {                if (r) {                    $.get('deleteclass?id=' + row.EnterpriseClass_ID, function (result) {                        if (result == "True") //result为返回值,返回的参数(可以读取true),但是无法读取返回对象的属性{                            $('#main_dg').datagrid('reload');    // reload the user data                        } else {                            $.messager.show({    // show error message                                title: 'Error',                                msg: '删除错误'                            });                        }                    });                }            });      }    }

post传值:适合大量传值以及表单传值

function saveedit()    {        $('#edit_fm').form('submit', {            url: "saveedit",            onSubmit: function () {                return $(this).form('validate');            },            success: function (result) {                if (result == "True") {                    $("#edit_dlg").dialog('close');                    $("#main_dg").datagrid('reload');                }                else {                    alert("角色编辑失败");                }            }        });           }

利用 Request.Form进行post的读取

  public bool saveedit()        {            int id=Convert.ToInt32(Request.Form["EnterpriseClass_ID"]);            EnterpriseClassService new_classserveice = new EnterpriseClassService();            IEnterpriseClassRepository _classrepository = new EnterpriseClassRepository();            EnterpriseClass _entpristclass = _classrepository.LoadEntities(EnterpriseClass => EnterpriseClass.EnterpriseClass_ID == id).FirstOrDefault();            _entpristclass.EnterpriseClass_Name = Request.Form["EnterpriseClass_Name"];            _entpristclass.EnterpriseClass_Option = Request.Form["newEnterpriseClass_Option"];            return new_classserveice.EnterPriseClassUpdate(_entpristclass);        }
修改数据后可以利用重定向url,指向新的json.然后利用load 重新加载,适合查找数据使用

function searchclass()    {        var searchtext = document.getElementById('search_text').value;        if (searchtext) {            $.post('searchclass?name=' + searchtext, function (result) {                if (result != "null") {                                        $('#main_dg').datagrid({                        url: "searchclass?name="+ searchtext,                        method: 'get'                    });                                      $('#main_dg').datagrid('reload');    // reload the user data                }            });        }




0 0
原创粉丝点击