Asp.Net Mvc2 增删改查DEMO附下载

1、List页面,一般List页面主要用来显示数据,本文中的List页面提供,数据显示并且分页、删除操作、新增及修改操作。因为看到园子里面有部分人在使用MVC进行数据显示的时候还在使用ViewData,这里介绍的是强类型显示数据。添加新的视图,在第一行代码可以看到


代码如下:

<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<dynamic>" %>

这里可以定义这个视图的类型,操作起来也比较方便,我们这里这样定义


代码如下:

<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<Web.Models.PageData<Web.Models.Users>>" %>

这里返回的是一个分页集合实体类,实体类定义


代码如下:

/// <summary>
/// 分页查询记录集类
/// </summary>
/// <typeparam name="T">通类类型</typeparam>
public class PageData<T>
{
/// <summary>
/// 获取或设置查询返回的分页记录集
/// </summary>
public List<T> GetDate = new List<T>();

/// <summary>
/// 获取或设置符合查询条件总记录数
/// </summary>
public int Count { get; set; }

/// <summary>
/// 每页多少条
/// </summary>
public int PageSize = 5;

/// <summary>
/// 当前多少页
/// </summary>
public int PageIndex { get; set; }
}

经过控制器处理之后返回相关参数,包含分页所需要的显示数据、总记录数、页码、当前第几页信息。因为在List页面中已经定义过类型了,那么调用的时候直接通过Model就可以调用出来。

上图可以看出,GetDate这个属性中保存的是泛型的数据集合,这样我们就可以循环的显示出来。如果分页的话,根据页码传值至控制器,重新获取数据,填充,然后返回,再显示,这里就可以实现显示数据并且分页的功能了。这里稍微介绍下分页的插件,用的是jquery.pagination,如果大家不熟悉使用的话,园子里有详细介绍的文章。

控制器中从数据库中获取相关数据,填充至实体类中,这样视图中直接调用就OK了。这里说写控制器中的写法。


代码如下:

$(function () {
//分页参数设置
$("#Pagination").pagination(<%=Model.Count%>, {
callback: pageselectCallback,
prev_text: "« 上一页", //上一页按钮文字
next_text: "下一页 »", //下一页按钮文字
items_per_page: <%=Model.PageSize%>, //每页显示多少条
num_display_entries: 5, //连续分页主体部分显示的分页条目数
current_page: <%=Model.PageIndex%>, //当前多少页
num_edge_entries: 1, //两侧显示的首尾分页的条目数
link_to: "?page=__id__"
});
});
function pageselectCallback(page_id, jq) {
//回调函数
}

2、添加操作。我们先定义一个实体类。


代码如下:

/// <summary>
/// 用户ID
/// </summary>
public int UID { get; set; }

/// <summary>
/// 登录帐号
/// </summary>
public string UName { get; set; }

/// <summary>
/// 登录密码
/// </summary>
public string UPassWord { get; set; }

然后在新增的页面我们需要定义两个input,然后输入登录帐号和登录密码,注意在定义两个input的时候,请务必设置input的name属性跟实体类对应,当然我们的视图也需要定义类型为Users(实体类,类名),设置action和method属性。


代码如下:

<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<Web.Models.Users>" %>
<form action="/Demo/Add/" method="post">
<table>
<tr>
<td>登录帐号:</td>
<td><input type="text" name="UName" /></td>
</tr>
<tr>
<td>登录密码:</td>
<td><input type="password" name="UPassWord" /></td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" value="提交" /></td>
</tr>
</table>
</form>

因为MVC会把表单自动映射到实体类的字段中,那么我们在控制器中直接获取这个实体类就OK了。因为看到有些童鞋获取数据是通过Request.Form[""]来获取值的。


代码如下:

[HttpPost]
//进行添加操作
public ActionResult Add(Users model)
{
//这里可以进行新增操作
//Bll.Add(model);
return RedirectToAction("List");
}

这样实体类中就保存了表单中的值了,不用在一个个去获取赋值了。修改的话跟这个差不多,这里就不过细去讲了,在文章的最后会提供DEMO的下载。

点击下载

(0)

相关推荐

  • asp.net MVC利用自定义ModelBinder过滤关键字的方法(附demo源码下载)

    本文实例讲述了MVC利用自定义ModelBinder过滤关键字的方法.分享给大家供大家参考,具体如下: 前面一篇主要讲解了如何利用ActionFilter过滤关键字,这篇主要讲解如何利用自己打造的ModelBinder来过滤关键字. 首先,我们还是利用上一篇<asp.net MVC利用ActionFilterAttribute过滤关键字的方法>中的实体类,但是我们需要加上DataType特性,以便于我们构造的ModelBinder通过DataTypeName识别出来: using System

  • indexedDB bootstrap angularjs之 MVC DOMO (应用示例)

    1.indexedDB(Model) -- 前端浏览器对象型数据库,一般我们后台用的数据库都是关系型数据库.那么indexeddb有什么特点呢: 首先,从字义上它是索引型数据库,从实际使用中可以体现为,它需要为表创建索引才可以根据某个字段来获取数据,而在关系型数据库中,这明显是不需要的. 其次,我不需要行列数据的转化,我只需要通过类似于数组的处理方式: 复制代码 代码如下: objectStore.push(data); 有点像是把一个json对象塞入数据库,是不是很暴力? 2.bootstra

  • 基于AngularJs + Bootstrap + AngularStrap相结合实现省市区联动代码

    Angular JS (Angular.JS) 是一组用来开发Web页面的框架.模板以及数据绑定和丰富UI组件.它支持整个开发进程,提供web应用的架构,无需进行手工DOM操作. AngularJs 就是一个函数库,算不上一个框架,源码2万2千多行,提供了前端MVC的开发方式,有双向绑定,指令等特性,这是具有革命性的.我是多么反感jQuery 用选择器 选择元素 ,绑定事件,进行一大堆DOM操作,一旦代码过多,非常不好维护,html结构改变,又要重写js代码,不过 jQuery  对 ajax的

  • ASP.NET MVC使用ActionFilterAttribute实现权限限制的方法(附demo源码下载)

    本文实例讲述了ASP.NET MVC使用ActionFilterAttribute实现权限限制的方法.分享给大家供大家参考,具体如下: ActionFilterAttribute是Action过滤类,该属于会在执行一个action之前先执行.而ActionFilterAttribute是 MVC的一个专门处理action过滤的类.基于这个原理 我们做一个权限限制 例如:如何访问 HomeController  里的test  action using System; using System.C

  • angularJS与bootstrap结合实现动态加载弹出提示内容

    angularjs是由Google团队开发的一款非常优秀web前端框架.在当前如此多的web框架下,angularjs能脱颖而出,从架构设计上就高人一等,双向数据绑定,依赖注入,指令,MVC,模板.Angular.js创新地把后台技术融入前端开发,扫去jQuery一度的光芒.用angularjs就像写后台代码,更规范,更结构化,更可控. 1.bootstrp的弹出提示 bootstrap已经帮我们封装了非常好用的弹出提示Popover. http://v3.bootcss.com/javascr

  • Asp.Net Mvc2 增删改查DEMO代码

    1.List页面 一般List页面主要用来显示数据,本文中的List页面提供,数据显示并且分页.删除操作.新增及修改操作.因为看到园子里面有部分人在使用MVC进行数据显示的时候还在使用ViewData,这里介绍的是强类型显示数据.添加新的视图,在第一行代码可以看到 复制代码 代码如下: <%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<dynamic>" %> 这里可以定义这个视

  • Asp.Net Mvc2 增删改查DEMO附下载

    1.List页面,一般List页面主要用来显示数据,本文中的List页面提供,数据显示并且分页.删除操作.新增及修改操作.因为看到园子里面有部分人在使用MVC进行数据显示的时候还在使用ViewData,这里介绍的是强类型显示数据.添加新的视图,在第一行代码可以看到 复制代码 代码如下: <%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<dynamic>" %> 这里可以定义这个视

  • ASP.NET实现Hadoop增删改查的示例代码

    本文介绍了ASP.NET实现Hadoop增删改查的示例代码,分享给大家,具体如下: packages.config <?xml version="1.0" encoding="utf-8"?> <packages> <package id="Microsoft.AspNet.WebApi.Client" version="4.0.20505.0" targetFramework="net

  • asp.net(C#) Xml操作(增删改查)练习

    web.config配置: 复制代码 代码如下: <appSettings> <add key="xmlFile" value="xml/class.xml"/> </appSettings> <appSettings> <add key="xmlFile" value="xml/class.xml"/> </appSettings> 前台: 复制代码 代

  • asp.net中XML如何做增删改查操作

    一.简单介绍 using System.Xml; //初始化一个xml实例 XmlDocument xml=new XmlDocument(); //导入指定xml文件 xml.Load(path); xml.Load(HttpContext.Current.Server.MapPath("~/file/bookstore.xml")); //指定一个节点 XmlNode root=xml.SelectSingleNode("/root"); //获取节点下所有直接

  • BootStrap实现带有增删改查功能的表格(DEMO详解)

    前言 bootstrap的表格样式,有类似EasyUI的表格,也有卡片式表格,放到移动端显示,各有千秋.但是BootStrap自带的表格是没有操作列的,网上的资源不少,但是都是比较单一.零碎,JS.CSS也经常给的不全,自己经过大概一个月左右的时间,把表格封装了一下,希望能分享给大家. 表格封装了3个版本,接下来给大家展示一下样式和代码. 版本一 1. 样式 表格布局: 添加:添加一行新的空白代码 修改:选中可修改的列,点击需要修改的单元格,即可变成可编辑的状态. 2.代码 @using Dat

  • ASP.NET MVC+EF实现异步增删改查

    目录 功能实现 1.搭建UI层 2.添加实体类 3.添加服务接口层 4.添加Entity Framework 1.开启迁移 2.增加迁移 3.生成数据库 5.添加接口的实现类 6.添加控制器 功能实现 我们以学生为例,实现增删改查功能. 1.搭建UI层 我们这里使用ASP.NET MVC作为界面层显示数据,首先创建一个解决方案,然后添加一个MVC项目,命名为TaskAsync.UI,创建后的项目结构如下图所示: 2.添加实体类 我们把实体类放在单独的类库里面,新建一个类型项目,命名为TaskAs

  • PHP操作MongoDB实现增删改查功能【附php7操作MongoDB方法】

    本文实例讲述了PHP操作MongoDB实现增删改查功能.分享给大家供大家参考,具体如下: MongoDB的PHP驱动提供了一些核心类来操作MongoDB,总的来说MongoDB命令行中有的功能,它都可以实现,而且参数的格式基本相似.PHP7以前的版本和PHP7之后的版本对MongoDB的操作有所不同,本文主要以PHP7以前版本为例讲解PHP对MongoDB的各种操作,最后再简单说明一下PHP7以后版本对MongoDB的操作. 一.数据插入 //insert() //参数1:一个数组或对象 //参

  • Spring MVC实现mysql数据库增删改查完整实例

    最近刚学了springmvc框架,感觉确实方便了不少,减少了大量的冗余代码.就自己做了个小项目练练手,这是个初级的springmvc应用的项目,没有用到mybatis,项目功能还算完善,实现了基本的增删改查的功能. 项目环境: -系统:win10 -开发环境:eclipseOxygenReleaseCandidate3(4.7) -jdk版本:java1.8(121) -mysql:5.7 -spring:4.0 -tomcat:8.5 用到的技术: springmvcspringjspjdbc

  • vue实现表格数据的增删改查

    在管理员的一些后台页面里,个人中心里的数据列表里,都会有对这些数据进行增删改查的操作.比如在管理员后台的用户列表里,我们可以录入新用户的信息,也可以对既有的用户信息进行修改.在vue中,我们更应该专注于对数据的操作和处理. 比如我们有一个这样的页面: 我们在这个页面里,就实现了增删改查4个功能,点击链接查看demo[http://www.xiabingbao.com/demo/vue-curd/index.html]. 我们把这些用户信息保存到list的数组中,然后增删改查就在这个数组上进行:

随机推荐