在ASP.NET MVC 中一般采用LINQ to SQL或ADO.NET Entity Data Model来完成数据库的操作,即在MVC的Models层中传入到View 显示层,这让ASP.NET WebForm开发经验者有所疑惑,是否以前的Ado.net的数据绑定方法还能在ASP.NET MVC中应用呢?答案是可以的。在传统的Ado.net中的DataTable、DataView等方法都是可以有办法将数据传送到MVC的View层的,在本文将展示采用传统的DataView方式在View层中显示数据。
和WebForm同样先建立数据库连接Webconfig中配置,然后建立连接数据库类即示例文件的Connection.cs类,然后建立数据操作类DataControl.cs类在Models里面,写入数据读取方法。下面代码DataControl.cs类详细方法(在本示例中数据库文件采用的ASP.NET MVC 数据库操作同样)。
下面进入View层在Index页里直接将数据循环显示呈现出来,通过foreach (System.Data.DataRowView m in myData.MessageData())将数据循环出来显示,当然上面也需要预先将DataControl进行实例化即myData。下面是View页面源码和显示效果。
显示详细页,在HomeController.cs里面加入 public ActionResult Content(int id)用来显示来自Index.aspx页面发送过来的Id详细显示某条数据消息,返回return View(GetUsersData(id));,GetUsersData(id)为DataControl类中DataView CheckMessage(int id)方法的List映射转化;添加Content视图并且创建强类型视图MvcDataSetApplication.Models.UserMessage,UserMessage成员与数据库Message表映对。下图为数据查询到View层Content.aspx的显示过程。