jQuery+json反射实现所有实体的增删改操作

那么,有三四十张表的话,前台表单是自动生成的.只不过生成的实体和数据库里的表名都是有规律可以 找的.还有操作实体的类,所以我只要通过前台把表单传过来.我就可以知道要反射到哪个实体,然后对实体 进行相应的赋值.再反射一个实体操作的类.就可以实现对实体的增删改操作了

上面是我的数据库表名

下面是我的实体,和实体操作的类名

private void InsertAndUpdateObj(HttpContext context)
        {
            string ClassName = context.Request.Form ["ClassName"].ToString();
            string ClassData = context.Request.Form ["ClassData"].ToString();
            string IntOrUpd = context.Request.Form["isIns"].ToString ();

            string[] ClassNameArray = ClassName.Split('_');
            string CNStr = "";
            for (int i = 0; i < ClassNameArray.Length; i++)
            {
                CNStr += ClassNameArray[i].Substring(0, 1).ToUpper() + ClassNameArray[i].Substring(1).ToLower();
            }
            ClassName = CNStr;

            //反射实体
            Assembly Ab = Assembly.Load("GradView.Library");
            Type type = Ab.GetType("GradView.Library.Data." + ClassName, true, false);
            object obj = Activator.CreateInstance(type);
            DataContractJsonSerializer dcjs = new DataContractJsonSerializer (type);
            MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes (ClassData));
            obj = dcjs.ReadObject(ms);

            //反射业务操作
            string opName = "Biz" + ClassName;
            string opMethod = "Insert";
            switch (IntOrUpd)
            {
                case "0": opMethod = "Update"; break;
                case "1": opMethod = "Insert"; break;
                case "2": opMethod = "Delete"; break;
                default: opMethod = "Insert"; break;
            }
            Type opType = Ab.GetType("GradView.Library.Data." + opName, true, false);
            object opObj = Activator.CreateInstance(opType);
            MethodInfo[] mi = opType.GetMethods();
            for (int i = 0; i < mi.Length; i++)
            {
                if (mi[i].Name == opMethod)
                {
                    object[] par = {
                                       obj
                                   };
                    try
                    {
                        mi[i].Invoke(opObj, par);
                        break;
                    }
                    catch
                    {
                    }
                }
            }
        }

所以我只要写这样的方法来实现,前台就可以通过jQuery把表单里的值组成json

后台接收这个json就可以对实体进行相应的操作了

时间: 2024-11-08 17:19:15

jQuery+json反射实现所有实体的增删改操作的相关文章

Jquery easyui开启行编辑模式增删改操作_jquery

jQuery EasyUI 框架提供了创建网页所需的一切,帮助您轻松建立站点. easyui 是一个基于 jQuery 的框架,集成了各种用户界面插件. easyui 提供建立现代化的具有交互性的 javascript 应用的必要的功能. 使用 easyui,您不需要写太多 javascript 代码,一般情况下您只需要使用一些 html 标记来定义用户界面. HTML 网页的完整框架. easyui 节省了开发产品的时间和规模. easyui 非常简单,但是功能非常强大. 先给大家展示效果图:

easyui-jquery easyUI tab中增删改操作问题

问题描述 jquery easyUI tab中增删改操作问题 我发现在tab里面如果有操作会请求新页面时,他就会跳转出当前tab页面,直接显示请求的新页面,我请问各位大神们,怎样实现让这个请求的新页面也在当前tab中显示? 解决方案 tab属性应该会有个URL参数,不要进行请求新页面操作,把新页面的URL写到Tab里面,然后应该也会有一个tab刷新的方法.你可以去看看easyUI的API文档,虽然我没用过,但是肯定是这样做的 解决方案二: 使用tab的refresh或者update函数刷新tab

问一个简单的问题,在winform中怎么不涉及到数据库对dgv里数据进行增删改操作呢?

问题描述 问一个简单的问题,在winform中怎么不涉及到数据库对dgv里数据进行增删改操作呢? 还有怎么同时把dgv里数据保存到数据库.我要代码,新增的最好有实体类的代码

Entity Framework 简单增删改操作

原文:Entity Framework 简单增删改操作 前言  在 Entity Framework 简单查询操作 中主要是学习了在Entity Framework中的几种不同模式的查询操作,现在主要来学习一下简单的增加.删除.修改操作. 增加 在EF中添加操作一般有两种方式:一是直接创建对象,然后调用"DbSet"的"Add()"方法进行添加:二是调用数据库上下文的"Entry()"方法并设置对应的状态.无论使用哪种方式最终一定要调用"

javascript实现表格增删改操作实例详解

 本文实例讲述了javascript实现表格增删改操作的方法.分享给大家供大家参考.具体实现方法如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 6

xml dtd-目的:使用java或C#或JSP或ASP等完成对xml文件的增删改操作。

问题描述 目的:使用java或C#或JSP或ASP等完成对xml文件的增删改操作. XML SPY和相关的环境 实验内容自己设计一个小型系统,要求数据存在XML文件中.使用java或C#或JSP或ASP等完成对xml文件的增删改操作.要求有用户操作的界面. (如通讯录管理系统.日志管理系统.班级管理系统等)实验步骤 使用dtd或schema完成所要设计系统的数据设计,并生成相应的xml存储文档.使用高级语言编写系统代码,完成对xml文档的操作 解决方案 有做好的例子吗?能发给我一份吗?谢谢谢谢.

sql中怎样在多表联合查询后的表中进行增删改操作,新手求大神详细讲解

问题描述 sql中怎样在多表联合查询后的表中进行增删改操作,新手求大神详细讲解 我在C#的winform的DataGridView中显示联合查询的结果,下面就是4张表的联合查询的语句,我需要在DataGridView显示的表中做删除操作,只需要知道删除的sql语句就行,用存储过程也好,级联删除也好,希望详细,我已经在这个问题上困扰很久了,万分感谢! 解决方案 在做C#桌面程序时,我们通常会遇到删除dataGridview中选中的一和或都多行数据,在网上查了好多方法,有些只能删除dataGridv

Oracle数据库的增删改操作介绍

前面的博文介绍了Oracle的简单查询操作,博客地址:http://blog.csdn.net/weixin_36380516/article/details/65935879 这里再对Oracle的更新操作即Oracle的增删改操作进行简单的介绍 首先要掌握对表结构的基本操作. 增加字段: alter table 表名 add(字段名 字段类型和长度) alter table table_name add(one_column varchar2(10)); 一次增加多个字段的话,每个字段直接以

javascript实现表格增删改操作实例详解_javascript技巧

本文实例讲述了javascript实现表格增删改操作的方法.分享给大家供大家参考.具体实现方法如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"&