[转载]asp.net mvc 2 简简单单做开发 实现基本数据操作操作RepositoryController

[转载]asp.net mvc 2 简简单单做开发 实现基本数据操作操作RepositoryController – 飞创cms – 博客园.

ASP.NET mvc 2 使用Linq to SQL 来操作数据库,基本实现面向对象编程,同样在操作数据是我们也可以使用面向对象的继承再加上泛型,是操作更加简单。代码简单,不详细说明,里面用到几个简 单的扩展方法,以后会详细介绍。如db.find<T>(t),db.findkey<T>(id)。这是对dbcontent 做了些扩展。

RepositoryController.cs 代码如下:

1 public class RepositoryController<T>: BaseController where T : class,new()
2 {
3 private Table<T> list()
4 {
5 return db.GetTable<T>();
6 }
7
8
9 public string orderby = Id desc;
10 public virtual ActionResult Index(T art)
11 {
12 ViewData[searchModel] = art;
13 var Model = db.Find<T>(art);
14 RecordCount = Model.Count();
15 Model=Model.OrderBy(orderby);
16
17 Model = Model.Skip((CurPage 1) * PageSize).Take(PageSize);
18
19 GetPager();
20 return View(index, Model);
21 }
22 [ValidateInput(false)]
23 public virtual ActionResult Add()
24 {
25
26 return View(new T());
27 }
28 [HttpPost]
29 [ValidateInput(false)]
30 public virtual ActionResult Add(T Model)
31 {
32 if (ModelState.IsValid)
33 {
34 try
35 {
36 list().InsertOnSubmit(Model);
37 db.SubmitChanges();
38 return RedirectToAction(index);
39 }
40 catch
41 {
42 return View(Model);
43 }
44 }
45 else
46 return View(Model);
47 }
48 [ValidateInput(false)]
49 public virtual ActionResult Edit(int id)
50 {
51 return View(db.FindKey<T>(id));
52 }
53 [HttpPost]
54 [ValidateInput(false)]
55 public virtual ActionResult Edit(int id, T Model)
56 {
57 try
58 {
59 var cate = db.FindKey<T>(id);
60 UpdateModel(cate);
61 db.SubmitChanges();
62 return RedirectToAction(index);
63 }
64 catch
65 {
66 return View(Model);
67 }
68 }
69 public virtual ActionResult Delete(int id)
70 {
71 list().DeleteOnSubmit(db.FindKey<T>(id));
72 db.SubmitChanges();
73 return RedirectToAction(index);
74 }
75
76
77 }
————————————————————————————
作者:王继坤
出处:http://www.wjk3.cn/
本文版权归作者和博客园共有,欢迎转 载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
赞(0) 打赏
分享到: 更多 (0)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏