这里我们建立一个简单的ASP.NET MVC实践应用,对News数据库的News表进行CRUD。
一、准备工作:
在SQLServer中创建News数据库News表,然后建立在Models文件夹中加入NewsData.dbml文件,将News表拖入到dbml文件中
二、创建News
1、添加视图
在Views文件夹中加入News文件夹,然后在News文件夹上单击右键-》添加-》View,然后按如下选择(注意需要再添加前先编译,不然无法显示Model中的类)
生成的代码如下:(略作修改,将id行去掉)
第一行中的Inherits="System.Web.Mvc.ViewPage<MvcCRUDDemo.Models.News>"表示这个View的Model为MvcCRUDDemo.Models.News。另:输入的验证我们会在系列3中讲到
2、添加Controler
右键单击Controller文件夹添加-》Controller
}
第一个无参的Create方法是当访问/News/Create时调用,第二个以news做为参数的Create方法是进行post提交时会调用。
三、读取News表中的内容:
1、添加列表视图
在Views文件夹中加入News文件夹,然后在News文件夹上单击右键-》添加-》View,然后按如下选择(注意需要再添加前先编译,不然无法显示Model中的类)
然后在View Content下拉框中选择List
生成的View代码为:
省略...
2、添加列表Controller
右键单击Controller文件夹添加-》Controller,然后添加NewsList()方法,代码如下
return View(newsList);
}
然后修改一下Global文件:
然后就可以浏览defaul.aspx查看结果了。
3、添加details视图
略
5、添加Details的Controller
}
四、编辑News表内容
1、添加Edit视图
略
2、添加编辑的Controler
}
只有一个参数的Edit是访问News/Edit/5时调用的方法,而另一个是当提交时调用的方法。提交时调用的Edit方法需要注意的就是UpdateModel方法,这个方法就是利用反射来将从客户端页面收集回来的信息更新到实体类中,所以这个地方最简单的方式就是遵守mvc的默认规则,也就是页面端得input的名字要和实体相同。
五、删除News表中的内容
1、添加删除视图
2、添加删除Controler
}
六、源码下载
数据库需要自己添加,另外这里的代码为了分步讲解方便,有些重复的地方没有进行优化