惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
云风的 BLOG
云风的 BLOG
美团技术团队
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
爱范儿
爱范儿
Stack Overflow Blog
Stack Overflow Blog
WordPress大学
WordPress大学
GbyAI
GbyAI
雷峰网
雷峰网
P
Proofpoint News Feed
IT之家
IT之家
人人都是产品经理
人人都是产品经理
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
aimingoo的专栏
aimingoo的专栏
小众软件
小众软件
T
The Blog of Author Tim Ferriss
月光博客
月光博客
V
Visual Studio Blog
L
LINUX DO - 热门话题
L
Lohrmann on Cybersecurity
T
Troy Hunt's Blog
Project Zero
Project Zero
U
Unit 42
T
Tor Project blog
Scott Helme
Scott Helme
L
LINUX DO - 最新话题
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
I
InfoQ
Cloudbric
Cloudbric
P
Proofpoint News Feed
The Cloudflare Blog
H
Heimdal Security Blog
Google DeepMind News
Google DeepMind News
The GitHub Blog
The GitHub Blog
Attack and Defense Labs
Attack and Defense Labs
有赞技术团队
有赞技术团队
T
Threat Research - Cisco Blogs
T
The Exploit Database - CXSecurity.com
J
Java Code Geeks
博客园 - 【当耐特】
Security Latest
Security Latest
The Register - Security
The Register - Security
F
Fortinet All Blogs
I
Intezer
H
Hackread – Cybersecurity News, Data Breaches, AI and More
MongoDB | Blog
MongoDB | Blog
N
Netflix TechBlog - Medium
NISL@THU
NISL@THU
T
Tenable Blog

博客园 - 王继坤

DataTable 递归 简单的程序,来实现无限级列表 结合 jquery.table.js 实现 asp.net mvc 2 简简单单做开发 使用DataContext扩展方法Find<TEntity>(TEntity obj) 遇到的问题 asp.net mvc 2 简简单单做开发 自定义Controller基类 - 王继坤 asp.net mvc 2 简简单单做开发 自定义DropdownList控件 asp.net mvc 2 简简单单做开发 通用增删改基本操作通用页面 asp.net mvc 2 DisplayTemplates 的使用 FcDigg 源码 asp.net 3.5 linq to sql 扩展方法 linq to access 简单实现 实例demo linq to access 简单实现 asp.net mvc 随想 asp.net mvc ajax实现1 asp.net ajax fccms 小型简单个人blog源码 FCKEDITOR中文使用说明 js调用 dotfuscator.exe 采用线程生成静态页面 新的开始--- gridview 实现多字段综合查询
asp.net mvc 2 简简单单做开发 实现基本数据操作操作RepositoryController<T>
王继坤 · 2010-07-05 · via 博客园 - 王继坤

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     }