Javascrpit mvc 简单的增添删除查找

本文介绍了如何通过JSON格式在前后端之间传递数据,包括利用ASP.NET MVC进行数据读取和展示的方法,以及如何实现数据表格的数据加载、编辑、删除等功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1,读取数据库显示在前台网页,利用json进行传值 
Json格式介绍:http://blog.youkuaiyun.com/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
                }
            });
        }





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值