[转载]MongoDB学习笔记(三) 在MVC模式下通过Jqgrid表格操作MongoDB数据 – lipan – 博客园.
看到下图,是通过Jqgrid实现表格数据的基本增删查改的操作。表格数据增删改是一般企业应用系统开发的常见功能,不过不同的是这个表格数据 来源是非关系型的数据库MongoDB。noSQL虽然概念新颖,但是MongoDB基本应用实现起来还是比较轻松的,甚至代码比基本的ADO.net访 问关系数据源还要简洁。由于其本身的“非关系”的数据存储方式,使得对象关系映射这个环节对于MongoDB来讲显得毫无意义,因此我们也不会对 MongoDB引入所谓的“ORM”框架。
下面我们将逐步讲解怎么在MVC模式下将MongoDB数据读取,并展示在前台Jqgrid表格上。这个“简易系统”的基本设计思想是这样的: 我们在视图层展示表格,Jqgrid相关Js逻辑全部放在一个Js文件中,控制层实现了“增删查改”四个业务,MongoDB的基本数据访问放在了模型层 实现。下面我们一步步实现。
一、实现视图层Jqgrid表格逻辑
首先,我们新建一个MVC空白项目,添加好JQuery、JQueryUI、Jqgrid的前端框架代码:
然后在Views的Home文件夹下新建视图“Index.aspx”,在视图的body标签中添加如下HTML代码:
接着新建Scripts\Home文件夹,在该目录新建“Index.js”文件,并再视图中引用,代码如下:
<span class = "pln" >jQuery</span><span class = "pun" >(</span><span class = "pln" >document</span><span class = "pun" >).</span><span class = "pln" >ready</span><span class = "pun" >(</span><span class = "kwd" >function</span><span class = "pln" > </span><span class = "pun" >()</span><span class = "pln" > </span><span class = "pun" >{</span><span class = "pln" > </span><span class = "com" > //jqGrid初始化</span><span class="pln"> jQuery</span><span class = "pun" >(</span><span class = "str" > "#table1" </span><span class = "pun" >).</span><span class = "pln" >jqGrid</span><span class = "pun" >({</span><span class = "pln" > url</span><span class = "pun" >:</span><span class = "pln" > </span><span class = "str" > '/Home/UserList' </span><span class = "pun" >,</span><span class = "pln" > datatype</span><span class = "pun" >:</span><span class = "pln" > </span><span class = "str" > 'json' </span><span class = "pun" >,</span><span class = "pln" > mtype</span><span class = "pun" >:</span><span class = "pln" > </span><span class = "str" > 'POST' </span><span class = "pun" >,</span><span class = "pln" > colNames</span><span class = "pun" >:</span><span class = "pln" > </span><span class = "pun" >[</span><span class = "str" > '登录名' </span><span class = "pun" >,</span><span class = "pln" > </span><span class = "str" > '姓名' </span><span class = "pun" >,</span><span class = "pln" > </span><span class = "str" > '年龄' </span><span class = "pun" >,</span><span class = "pln" > </span><span class = "str" > '手机号' </span><span class = "pun" >,</span><span class = "pln" > </span><span class = "str" > '邮箱地址' </span><span class = "pun" >,</span><span class = "pln" > </span><span class = "str" > '操作' </span><span class = "pun" >],</span><span class = "pln" > colModel</span><span class = "pun" >:</span><span class = "pln" > </span><span class = "pun" >[</span><span class = "pln" > </span><span class = "pun" >{</span><span class = "pln" > name</span><span class = "pun" >:</span><span class = "pln" > </span><span class = "str" > 'UserId' </span><span class = "pun" >,</span><span class = "pln" > index</span><span class = "pun" >:</span><span class = "pln" > </span><span class = "str" > 'UserId' </span><span class = "pun" >,</span><span class = "pln" > width</span><span class = "pun" >:</span><span class = "pln" > </span><span class = "lit" >180</span><span class = "pun" >,</span><span class = "pln" > editable</span><span class = "pun" >:</span><span class = "pln" > </span><span class = "kwd" > true </span><span class = "pln" > </span><span class = "pun" >},</span><span class = "pln" > </span><span class = "pun" >{</span><span class = "pln" > name</span><span class = "pun" >:</span><span class = "pln" > </span><span class = "str" > 'UserName' </span><span class = "pun" >,</span><span class = "pln" > index</span><span class = "pun" >:</span><span class = "pln" > </span><span class = "str" > 'UserName' </span><span class = "pun" >,</span><span class = "pln" > width</span><span class = "pun" >:</span><span class = "pln" > </span><span class = "lit" >200</span><span class = "pun" >,</span><span class = "pln" > editable</span><span class = "pun" >:</span><span class = "pln" > </span><span class = "kwd" > true </span><span class = "pln" > </span><span class = "pun" >},</span><span class = "pln" > </span><span class = "pun" >{</span><span class = "pln" > name</span><span class = "pun" >:</span><span class = "pln" > </span><span class = "str" > 'Age' </span><span class = "pun" >,</span><span class = "pln" > index</span><span class = "pun" >:</span><span class = "pln" > </span><span class = "str" > 'Age' </span><span class = "pun" >,</span><span class = "pln" > width</span><span class = "pun" >:</span><span class = "pln" > </span><span class = "lit" >150</span><span class = "pun" >,</span><span class = "pln" > editable</span><span class = "pun" >:</span><span class = "pln" > </span><span class = "kwd" > true </span><span class = "pln" > </span><span class = "pun" >},</span><span class = "pln" > </span><span class = "pun" >{</span><span class = "pln" > name</span><span class = "pun" >:</span><span class = "pln" > </span><span class = "str" > 'Tel' </span><span class = "pun" >,</span><span class = "pln" > index</span><span class = "pun" >:</span><span class = "pln" > </span><span class = "str" > 'Tel' </span><span class = "pun" >,</span><span class = "pln" > width</span><span class = "pun" >:</span><span class = "pln" > </span><span class = "lit" >150</span><span class = "pun" >,</span><span class = "pln" > editable</span><span class = "pun" >:</span><span class = "pln" > </span><span class = "kwd" > true </span><span class = "pln" > </span><span class = "pun" >},</span><span class = "pln" > </span><span class = "pun" >{</span><span class = "pln" > name</span><span class = "pun" >:</span><span class = "pln" > </span><span class = "str" > 'Email' </span><span class = "pun" >,</span><span class = "pln" > index</span><span class = "pun" >:</span><span class = "pln" > </span><span class = "str" > 'Email' </span><span class = "pun" >,</span><span class = "pln" > width</span><span class = "pun" >:</span><span class = "pln" > </span><span class = "lit" >150</span><span class = "pun" >,</span><span class = "pln" > editable</span><span class = "pun" >:</span><span class = "pln" > </span><span class = "kwd" > true </span><span class = "pln" > </span><span class = "pun" >},</span><span class = "pln" > </span><span class = "pun" >{</span><span class = "pln" > name</span><span class = "pun" >:</span><span class = "pln" > </span><span class = "str" > 'Edit' </span><span class = "pun" >,</span><span class = "pln" > index</span><span class = "pun" >:</span><span class = "pln" > </span><span class = "str" > 'Edit' </span><span class = "pun" >,</span><span class = "pln" > width</span><span class = "pun" >:</span><span class = "pln" > </span><span class = "lit" >150</span><span class = "pun" >,</span><span class = "pln" > editable</span><span class = "pun" >:</span><span class = "pln" > </span><span class = "kwd" > false </span><span class = "pun" >,</span><span class = "pln" > align</span><span class = "pun" >:</span><span class = "pln" > </span><span class = "str" > 'center' </span><span class = "pln" > </span><span class = "pun" >}</span><span class = "pln" > </span><span class = "pun" >],</span><span class = "pln" > pager</span><span class = "pun" >:</span><span class = "pln" > </span><span class = "str" > '#div1' </span><span class = "pun" >,</span><span class = "pln" > postData</span><span class = "pun" >:</span><span class = "pln" > </span><span class = "pun" >{},</span><span class = "pln" > rowNum</span><span class = "pun" >:</span><span class = "pln" > </span><span class = "lit" >5</span><span class = "pun" >,</span><span class = "pln" > rowList</span><span class = "pun" >:</span><span class = "pln" > </span><span class = "pun" >[</span><span class = "lit" >5</span><span class = "pun" >,</span><span class = "pln" > </span><span class = "lit" >10</span><span class = "pun" >,</span><span class = "pln" > </span><span class = "lit" >20</span><span class = "pun" >],</span><span class = "pln" > sortable</span><span class = "pun" >:</span><span class = "pln" > </span><span class = "kwd" > true </span><span class = "pun" >,</span><span class = "pln" > caption</span><span class = "pun" >:</span><span class = "pln" > </span><span class = "str" > '用户信息管理' </span><span class = "pun" >,</span><span class = "pln" > hidegrid</span><span class = "pun" >:</span><span class = "pln" > </span><span class = "kwd" > false </span><span class = "pun" >,</span><span class = "pln" > rownumbers</span><span class = "pun" >:</span><span class = "pln" > </span><span class = "kwd" > true </span><span class = "pun" >,</span><span class = "pln" > viewrecords</span><span class = "pun" >:</span><span class = "pln" > </span><span class = "kwd" > true </span><span class = "pln" > </span><span class = "pun" >}).</span><span class = "pln" >navGrid</span><span class = "pun" >(</span><span class = "str" > '#div1' </span><span class = "pun" >,</span><span class = "pln" > </span><span class = "pun" >{</span><span class = "pln" > edit</span><span class = "pun" >:</span><span class = "pln" > </span><span class = "kwd" > false </span><span class = "pun" >,</span><span class = "pln" > add</span><span class = "pun" >:</span><span class = "pln" > </span><span class = "kwd" > false </span><span class = "pun" >,</span><span class = "pln" > </span><span class = "kwd" >del</span><span class = "pun" >:</span><span class = "pln" > </span><span class = "kwd" > false </span><span class = "pln" > </span><span class = "pun" >})</span><span class = "pln" > </span><span class = "pun" >.</span><span class = "pln" >navButtonAdd</span><span class = "pun" >(</span><span class = "str" > '#div1' </span><span class = "pun" >,</span><span class = "pln" > </span><span class = "pun" >{</span><span class = "pln" > caption</span><span class = "pun" >:</span><span class = "pln" > </span><span class = "str" > "编辑" </span><span class = "pun" >,</span><span class = "pln" > buttonicon</span><span class = "pun" >:</span><span class = "pln" > </span><span class = "str" > "ui-icon-add" </span><span class = "pun" >,</span><span class = "pln" > onClickButton</span><span class = "pun" >:</span><span class = "pln" > </span><span class = "kwd" >function</span><span class = "pln" > </span><span class = "pun" >()</span><span class = "pln" > </span><span class = "pun" >{</span><span class = "pln" > </span><span class = "kwd" > var </span><span class = "pln" > id </span><span class = "pun" >=</span><span class = "pln" > $</span><span class = "pun" >(</span><span class = "str" > "#table1" </span><span class = "pun" >).</span><span class = "pln" >getGridParam</span><span class = "pun" >(</span><span class = "str" > "selrow" </span><span class = "pun" >);</span><span class = "pln" > </span><span class = "kwd" > if </span><span class = "pln" > </span><span class = "pun" >(</span><span class = "pln" >id </span><span class = "pun" >==</span><span class = "pln" > </span><span class = "kwd" > null </span><span class = "pun" >)</span><span class = "pln" > </span><span class = "pun" >{</span><span class = "pln" > alert</span><span class = "pun" >(</span><span class = "str" > "请选择行!" </span><span class = "pun" >);</span><span class = "pln" > </span><span class = "kwd" > return </span><span class = "pun" >;</span><span class = "pln" > </span><span class = "pun" >}</span><span class = "pln" > </span><span class = "kwd" > if </span><span class = "pln" > </span><span class = "pun" >(</span><span class = "pln" >id </span><span class = "pun" >==</span><span class = "pln" > </span><span class = "str" > "newId" </span><span class = "pun" >)</span><span class = "pln" > </span><span class = "kwd" > return </span><span class = "pun" >;</span><span class = "pln" > $</span><span class = "pun" >(</span><span class = "str" > "#table1" </span><span class = "pun" >).</span><span class = "pln" >editRow</span><span class = "pun" >(</span><span class = "pln" >id</span><span class = "pun" >);</span><span class = "pln" > $</span><span class = "pun" >(</span><span class = "str" > "#table1" </span><span class = "pun" >).</span><span class = "pln" >find</span><span class = "pun" >(</span><span class = "str" > "#" </span><span class = "pln" > </span><span class = "pun" >+</span><span class = "pln" > id </span><span class = "pun" >+</span><span class = "pln" > </span><span class = "str" > "_UserId" </span><span class = "pun" >).</span><span class = "pln" >attr</span><span class = "pun" >(</span><span class = "str" > "readonly" </span><span class = "pun" >,</span><span class = "str" > "readOnly" </span><span class = "pun" >);</span><span class = "pln" > $</span><span class = "pun" >(</span><span class = "str" > "#table1" </span><span class = "pun" >).</span><span class = "pln" >setCell</span><span class = "pun" >(</span><span class = "pln" >id</span><span class = "pun" >,</span><span class = "pln" > </span><span class = "str" > "Edit" </span><span class = "pun" >,</span><span class = "pln" > </span><span class = "str" > "<input id=" </span><span class = "typ" >Button1</span><span class = "str" > " onclick=" </span><span class = "typ" >Update</span><span class = "pun" >(</span><span class = "pln" >\"</span><span class = "pun" >;&</span><span class = "pln" >quot</span><span class = "pun" >;</span><span class = "pln" > </span><span class = "pun" >+</span><span class = "pln" > id </span><span class = "pun" >+</span><span class = "pln" > </span><span class = "pun" >&</span><span class = "pln" >quot</span><span class = "pun" >;</span><span class = "pln" >\"</span><span class = "pun" >;)</span><span class = "str" > " type=" </span><span class = "pln" >button</span><span class = "str" > " value=" </span><span class = "pun" >提交</span><span class = "str" > " /><input id=" </span><span class = "typ" >Button2</span><span class = "str" > " onclick=" </span><span class = "typ" >Cancel</span><span class = "pun" >(</span><span class = "pln" >\"</span><span class = "pun" >;&</span><span class = "pln" >quot</span><span class = "pun" >;</span><span class = "pln" > </span><span class = "pun" >+</span><span class = "pln" > id </span><span class = "pun" >+</span><span class = "pln" > </span><span class = "pun" >&</span><span class = "pln" >quot</span><span class = "pun" >;</span><span class = "pln" >\"</span><span class = "pun" >;)</span><span class = "str" > " type=" </span><span class = "pln" >button</span><span class = "str" > " value=" </span><span class = "pun" >取消</span><span class = "str" > " />" </span><span class = "pun" >);</span><span class = "pln" > </span><span class = "pun" >}</span><span class = "pln" > </span><span class = "pun" >}).</span><span class = "pln" >navButtonAdd</span><span class = "pun" >(</span><span class = "str" > '#div1' </span><span class = "pun" >,</span><span class = "pln" > </span><span class = "pun" >{</span><span class = "pln" > caption</span><span class = "pun" >:</span><span class = "pln" > </span><span class = "str" > "删除" </span><span class = "pun" >,</span><span class = "pln" > buttonicon</span><span class = "pun" >:</span><span class = "pln" > </span><span class = "str" > "ui-icon-del" </span><span class = "pun" >,</span><span class = "pln" > onClickButton</span><span class = "pun" >:</span><span class = "pln" > </span><span class = "kwd" >function</span><span class = "pln" > </span><span class = "pun" >()</span><span class = "pln" > </span><span class = "pun" >{</span><span class = "pln" > </span><span class = "kwd" > var </span><span class = "pln" > id </span><span class = "pun" >=</span><span class = "pln" > $</span><span class = "pun" >(</span><span class = "str" > "#table1" </span><span class = "pun" >).</span><span class = "pln" >getGridParam</span><span class = "pun" >(</span><span class = "str" > "selrow" </span><span class = "pun" >);</span><span class = "pln" > </span><span class = "kwd" > if </span><span class = "pln" > </span><span class = "pun" >(</span><span class = "pln" >id </span><span class = "pun" >==</span><span class = "pln" > </span><span class = "kwd" > null </span><span class = "pun" >)</span><span class = "pln" > </span><span class = "pun" >{</span><span class = "pln" > alert</span><span class = "pun" >(</span><span class = "str" > "请选择行!" </span><span class = "pun" >);</span><span class = "pln" > </span><span class = "kwd" > return </span><span class = "pun" >;</span><span class = "pln" > </span><span class = "pun" >}</span><span class = "pln" > </span><span class = "typ" >Delete</span><span class = "pun" >(</span><span class = "pln" >id</span><span class = "pun" >);</span><span class = "pln" > </span><span class = "pun" >}</span><span class = "pln" > </span><span class = "pun" >}).</span><span class = "pln" >navButtonAdd</span><span class = "pun" >(</span><span class = "str" > '#div1' </span><span class = "pun" >,</span><span class = "pln" > </span><span class = "pun" >{</span><span class = "pln" > caption</span><span class = "pun" >:</span><span class = "pln" > </span><span class = "str" > "新增" </span><span class = "pun" >,</span><span class = "pln" > buttonicon</span><span class = "pun" >:</span><span class = "pln" > </span><span class = "str" > "ui-icon-add" </span><span class = "pun" >,</span><span class = "pln" > onClickButton</span><span class = "pun" >:</span><span class = "pln" > </span><span class = "kwd" >function</span><span class = "pln" > </span><span class = "pun" >()</span><span class = "pln" > </span><span class = "pun" >{</span><span class = "pln" > $</span><span class = "pun" >(</span><span class = "str" > "#table1" </span><span class = "pun" >).</span><span class = "pln" >addRowData</span><span class = "pun" >(</span><span class = "str" > "newId" </span><span class = "pun" >,</span><span class = "pln" > </span><span class = "pun" >-</span><span class = "lit" >1</span><span class = "pun" >);</span><span class = "pln" > $</span><span class = "pun" >(</span><span class = "str" > "#table1" </span><span class = "pun" >).</span><span class = "pln" >editRow</span><span class = "pun" >(</span><span class = "str" > "newId" </span><span class = "pun" >);</span><span class = "pln" > $</span><span class = "pun" >(</span><span class = "str" > "#table1" </span><span class = "pun" >).</span><span class = "pln" >setCell</span><span class = "pun" >(</span><span class = "str" > "newId" </span><span class = "pun" >,</span><span class = "pln" > </span><span class = "str" > "Edit" </span><span class = "pun" >,</span><span class = "pln" > </span><span class = "str" > "<input id=" </span><span class = "typ" >Button1</span><span class = "str" > " onclick=" </span><span class = "typ" >Add</span><span class = "pun" >()</span><span class = "str" > " type=" </span><span class = "pln" >button</span><span class = "str" > " value=" </span><span class = "pun" >提交</span><span class = "str" > " /><input id=" </span><span class = "typ" >Button2</span><span class = "str" > " onclick=" </span><span class = "typ" >Cancel</span><span class = "pun" >(</span><span class = "pln" >\"</span><span class = "pun" >;</span><span class = "pln" >newId\"</span><span class = "pun" >;)</span><span class = "str" > " type=" </span><span class = "pln" >button</span><span class = "str" > " value=" </span><span class = "pun" >取消</span><span class = "str" > " />" </span><span class = "pun" >);</span><span class = "pln" > </span><span class = "pun" >}</span><span class = "pln" > </span><span class = "pun" >});</span><span class = "pln" > </span><span class = "pun" >});</span><span class = "pln" > </span><span class = "com" > //取消编辑状态</span><span class="pln"> </span><span class = "kwd" >function</span><span class = "pln" > </span><span class = "typ" >Cancel</span><span class = "pun" >(</span><span class = "pln" >id</span><span class = "pun" >)</span><span class = "pln" > </span><span class = "pun" >{</span><span class = "pln" > </span><span class = "kwd" > if </span><span class = "pln" > </span><span class = "pun" >(</span><span class = "pln" >id </span><span class = "pun" >==</span><span class = "pln" > </span><span class = "str" > "newId" </span><span class = "pun" >)</span><span class = "pln" > $</span><span class = "pun" >(</span><span class = "str" > "#table1" </span><span class = "pun" >).</span><span class = "pln" >delRowData</span><span class = "pun" >(</span><span class = "str" > "newId" </span><span class = "pun" >);</span><span class = "pln" > </span><span class = "kwd" > else </span><span class = "pln" > $</span><span class = "pun" >(</span><span class = "str" > "#table1" </span><span class = "pun" >).</span><span class = "pln" >restoreRow</span><span class = "pun" >(</span><span class = "pln" >id</span><span class = "pun" >);</span><span class = "pln" > </span><span class = "pun" >}</span><span class = "pln" > </span><span class = "com" > //向后台ajax请求新增数据</span><span class="pln"> </span><span class = "kwd" >function</span><span class = "pln" > </span><span class = "typ" >Add</span><span class = "pun" >()</span><span class = "pln" > </span><span class = "pun" >{</span><span class = "pln" > </span><span class = "kwd" > var </span><span class = "pln" > </span><span class = "typ" >UserId</span><span class = "pln" > </span><span class = "pun" >=</span><span class = "pln" > $</span><span class = "pun" >(</span><span class = "str" > "#table1" </span><span class = "pun" >).</span><span class = "pln" >find</span><span class = "pun" >(</span><span class = "str" > "#newId" </span><span class = "pln" > </span><span class = "pun" >+</span><span class = "pln" > </span><span class = "str" > "_UserId" </span><span class = "pun" >).</span><span class = "pln" >val</span><span class = "pun" >();</span><span class = "pln" > </span><span class = "kwd" > var </span><span class = "pln" > </span><span class = "typ" >UserName</span><span class = "pln" > </span><span class = "pun" >=</span><span class = "pln" > $</span><span class = "pun" >(</span><span class = "str" > "#table1" </span><span class = "pun" >).</span><span class = "pln" >find</span><span class = "pun" >(</span><span class = "str" > "#newId" </span><span class = "pln" > </span><span class = "pun" >+</span><span class = "pln" > </span><span class = "str" > "_UserName" </span><span class = "pun" >).</span><span class = "pln" >val</span><span class = "pun" >();</span><span class = "pln" > </span><span class = "kwd" > var </span><span class = "pln" > </span><span class = "typ" >Age</span><span class = "pln" > </span><span class = "pun" >=</span><span class = "pln" > $</span><span class = "pun" >(</span><span class = "str" > "#table1" </span><span class = "pun" >).</span><span class = "pln" >find</span><span class = "pun" >(</span><span class = "str" > "#newId" </span><span class = "pln" > </span><span class = "pun" >+</span><span class = "pln" > </span><span class = "str" > "_Age" </span><span class = "pun" >).</span><span class = "pln" >val</span><span class = "pun" >();</span><span class = "pln" > </span><span class = "kwd" > var </span><span class = "pln" > </span><span class = "typ" >Tel</span><span class = "pln" > </span><span class = "pun" >=</span><span class = "pln" > $</span><span class = "pun" >(</span><span class = "str" > "#table1" </span><span class = "pun" >).</span><span class = "pln" >find</span><span class = "pun" >(</span><span class = "str" > "#newId" </span><span class = "pln" > </span><span class = "pun" >+</span><span class = "pln" > </span><span class = "str" > "_Tel" </span><span class = "pun" >).</span><span class = "pln" >val</span><span class = "pun" >();</span><span class = "pln" > </span><span class = "kwd" > var </span><span class = "pln" > </span><span class = "typ" >Email</span><span class = "pln" > </span><span class = "pun" >=</span><span class = "pln" > $</span><span class = "pun" >(</span><span class = "str" > "#table1" </span><span class = "pun" >).</span><span class = "pln" >find</span><span class = "pun" >(</span><span class = "str" > "#newId" </span><span class = "pln" > </span><span class = "pun" >+</span><span class = "pln" > </span><span class = "str" > "_Email" </span><span class = "pun" >).</span><span class = "pln" >val</span><span class = "pun" >();</span><span class = "pln" > $</span><span class = "pun" >.</span><span class = "pln" >ajax</span><span class = "pun" >({</span><span class = "pln" > type</span><span class = "pun" >:</span><span class = "pln" > </span><span class = "str" > "POST" </span><span class = "pun" >,</span><span class = "pln" > url</span><span class = "pun" >:</span><span class = "pln" > </span><span class = "str" > "/Home/Add" </span><span class = "pun" >,</span><span class = "pln" > data</span><span class = "pun" >:</span><span class = "pln" > </span><span class = "str" > "UserId=" </span><span class = "pln" > </span><span class = "pun" >+</span><span class = "pln" > </span><span class = "typ" >UserId</span><span class = "pln" > </span><span class = "pun" >+</span><span class = "pln" > </span><span class = "str" > "&UserName=" </span><span class = "pln" > </span><span class = "pun" >+</span><span class = "pln" > </span><span class = "typ" >UserName</span><span class = "pln" > </span><span class = "pun" >+</span><span class = "pln" > </span><span class = "str" > "&Age=" </span><span class = "pln" > </span><span class = "pun" >+</span><span class = "pln" > </span><span class = "typ" >Age</span><span class = "pln" > </span><span class = "pun" >+</span><span class = "pln" > </span><span class = "str" > "&Tel=" </span><span class = "pln" > </span><span class = "pun" >+</span><span class = "pln" > </span><span class = "typ" >Tel</span><span class = "pln" > </span><span class = "pun" >+</span><span class = "pln" > </span><span class = "str" > "&Email=" </span><span class = "pln" > </span><span class = "pun" >+</span><span class = "pln" > </span><span class = "typ" >Email</span><span class = "pun" >,</span><span class = "pln" > success</span><span class = "pun" >:</span><span class = "pln" > </span><span class = "kwd" >function</span><span class = "pln" > </span><span class = "pun" >(</span><span class = "pln" >msg</span><span class = "pun" >)</span><span class = "pln" > </span><span class = "pun" >{</span><span class = "pln" > alert</span><span class = "pun" >(</span><span class = "str" > "新增数据: " </span><span class = "pln" > </span><span class = "pun" >+</span><span class = "pln" > msg</span><span class = "pun" >);</span><span class = "pln" > $</span><span class = "pun" >(</span><span class = "str" > "#table1" </span><span class = "pun" >).</span><span class = "pln" >trigger</span><span class = "pun" >(</span><span class = "str" > "reloadGrid" </span><span class = "pun" >);</span><span class = "pln" > </span><span class = "pun" >}</span><span class = "pln" > </span><span class = "pun" >});</span><span class = "pln" > </span><span class = "pun" >}</span><span class = "pln" > </span><span class = "com" > //向后台ajax请求更新数据</span><span class="pln"> </span><span class = "kwd" >function</span><span class = "pln" > </span><span class = "typ" >Update</span><span class = "pun" >(</span><span class = "pln" >id</span><span class = "pun" >)</span><span class = "pln" > </span><span class = "pun" >{</span><span class = "pln" > </span><span class = "kwd" > var </span><span class = "pln" > </span><span class = "typ" >UserId</span><span class = "pln" > </span><span class = "pun" >=</span><span class = "pln" > $</span><span class = "pun" >(</span><span class = "str" > "#table1" </span><span class = "pun" >).</span><span class = "pln" >find</span><span class = "pun" >(</span><span class = "str" > "#" </span><span class = "pln" > </span><span class = "pun" >+</span><span class = "pln" > id </span><span class = "pun" >+</span><span class = "pln" > </span><span class = "str" > "_UserId" </span><span class = "pun" >).</span><span class = "pln" >val</span><span class = "pun" >();</span><span class = "pln" > </span><span class = "kwd" > var </span><span class = "pln" > </span><span class = "typ" >UserName</span><span class = "pln" > </span><span class = "pun" >=</span><span class = "pln" > $</span><span class = "pun" >(</span><span class = "str" > "#table1" </span><span class = "pun" >).</span><span class = "pln" >find</span><span class = "pun" >(</span><span class = "str" > "#" </span><span class = "pln" > </span><span class = "pun" >+</span><span class = "pln" > id </span><span class = "pun" >+</span><span class = "pln" > </span><span class = "str" > "_UserName" </span><span class = "pun" >).</span><span class = "pln" >val</span><span class = "pun" >();</span><span class = "pln" > </span><span class = "kwd" > var </span><span class = "pln" > </span><span class = "typ" >Age</span><span class = "pln" > </span><span class = "pun" >=</span><span class = "pln" > $</span><span class = "pun" >(</span><span class = "str" > "#table1" </span><span class = "pun" >).</span><span class = "pln" >find</span><span class = "pun" >(</span><span class = "str" > "#" </span><span class = "pln" > </span><span class = "pun" >+</span><span class = "pln" > id </span><span class = "pun" >+</span><span class = "pln" > </span><span class = "str" > "_Age" </span><span class = "pun" >).</span><span class = "pln" >val</span><span class = "pun" >();</span><span class = "pln" > </span><span class = "kwd" > var </span><span class = "pln" > </span><span class = "typ" >Tel</span><span class = "pln" > </span><span class = "pun" >=</span><span class = "pln" > $</span><span class = "pun" >(</span><span class = "str" > "#table1" </span><span class = "pun" >).</span><span class = "pln" >find</span><span class = "pun" >(</span><span class = "str" > "#" </span><span class = "pln" > </span><span class = "pun" >+</span><span class = "pln" > id </span><span class = "pun" >+</span><span class = "pln" > </span><span class = "str" > "_Tel" </span><span class = "pun" >).</span><span class = "pln" >val</span><span class = "pun" >();</span><span class = "pln" > </span><span class = "kwd" > var </span><span class = "pln" > </span><span class = "typ" >Email</span><span class = "pln" > </span><span class = "pun" >=</span><span class = "pln" > $</span><span class = "pun" >(</span><span class = "str" > "#table1" </span><span class = "pun" >).</span><span class = "pln" >find</span><span class = "pun" >(</span><span class = "str" > "#" </span><span class = "pln" > </span><span class = "pun" >+</span><span class = "pln" > id </span><span class = "pun" >+</span><span class = "pln" > </span><span class = "str" > "_Email" </span><span class = "pun" >).</span><span class = "pln" >val</span><span class = "pun" >();</span><span class = "pln" > $</span><span class = "pun" >.</span><span class = "pln" >ajax</span><span class = "pun" >({</span><span class = "pln" > type</span><span class = "pun" >:</span><span class = "pln" > </span><span class = "str" > "POST" </span><span class = "pun" >,</span><span class = "pln" > url</span><span class = "pun" >:</span><span class = "pln" > </span><span class = "str" > "/Home/Update" </span><span class = "pun" >,</span><span class = "pln" > data</span><span class = "pun" >:</span><span class = "pln" > </span><span class = "str" > "UserId=" </span><span class = "pln" > </span><span class = "pun" >+</span><span class = "pln" > </span><span class = "typ" >UserId</span><span class = "pln" > </span><span class = "pun" >+</span><span class = "pln" > </span><span class = "str" > "&UserName=" </span><span class = "pln" > </span><span class = "pun" >+</span><span class = "pln" > </span><span class = "typ" >UserName</span><span class = "pln" > </span><span class = "pun" >+</span><span class = "pln" > </span><span class = "str" > "&Age=" </span><span class = "pln" > </span><span class = "pun" >+</span><span class = "pln" > </span><span class = "typ" >Age</span><span class = "pln" > </span><span class = "pun" >+</span><span class = "pln" > </span><span class = "str" > "&Tel=" </span><span class = "pln" > </span><span class = "pun" >+</span><span class = "pln" > </span><span class = "typ" >Tel</span><span class = "pln" > </span><span class = "pun" >+</span><span class = "pln" > </span><span class = "str" > "&Email=" </span><span class = "pln" > </span><span class = "pun" >+</span><span class = "pln" > </span><span class = "typ" >Email</span><span class = "pun" >,</span><span class = "pln" > success</span><span class = "pun" >:</span><span class = "pln" > </span><span class = "kwd" >function</span><span class = "pln" > </span><span class = "pun" >(</span><span class = "pln" >msg</span><span class = "pun" >)</span><span class = "pln" > </span><span class = "pun" >{</span><span class = "pln" > alert</span><span class = "pun" >(</span><span class = "str" > "修改数据: " </span><span class = "pln" > </span><span class = "pun" >+</span><span class = "pln" > msg</span><span class = "pun" >);</span><span class = "pln" > $</span><span class = "pun" >(</span><span class = "str" > "#table1" </span><span class = "pun" >).</span><span class = "pln" >trigger</span><span class = "pun" >(</span><span class = "str" > "reloadGrid" </span><span class = "pun" >);</span><span class = "pln" > </span><span class = "pun" >}</span><span class = "pln" > </span><span class = "pun" >});</span><span class = "pln" > </span><span class = "pun" >}</span><span class = "pln" > </span><span class = "com" > //向后台ajax请求删除数据</span><span class="pln"> </span><span class = "kwd" >function</span><span class = "pln" > </span><span class = "typ" >Delete</span><span class = "pun" >(</span><span class = "pln" >id</span><span class = "pun" >)</span><span class = "pln" > </span><span class = "pun" >{</span><span class = "pln" > </span><span class = "kwd" > var </span><span class = "pln" > </span><span class = "typ" >UserId</span><span class = "pln" > </span><span class = "pun" >=</span><span class = "pln" > $</span><span class = "pun" >(</span><span class = "str" > "#table1" </span><span class = "pun" >).</span><span class = "pln" >getCell</span><span class = "pun" >(</span><span class = "pln" >id</span><span class = "pun" >,</span><span class = "pln" > </span><span class = "str" > "UserId" </span><span class = "pun" >);</span><span class = "pln" > $</span><span class = "pun" >.</span><span class = "pln" >ajax</span><span class = "pun" >({</span><span class = "pln" > type</span><span class = "pun" >:</span><span class = "pln" > </span><span class = "str" > "POST" </span><span class = "pun" >,</span><span class = "pln" > url</span><span class = "pun" >:</span><span class = "pln" > </span><span class = "str" > "/Home/Delete" </span><span class = "pun" >,</span><span class = "pln" > data</span><span class = "pun" >:</span><span class = "pln" > </span><span class = "str" > "UserId=" </span><span class = "pln" > </span><span class = "pun" >+</span><span class = "pln" > </span><span class = "typ" >UserId</span><span class = "pun" >,</span><span class = "pln" > success</span><span class = "pun" >:</span><span class = "pln" > </span><span class = "kwd" >function</span><span class = "pln" > </span><span class = "pun" >(</span><span class = "pln" >msg</span><span class = "pun" >)</span><span class = "pln" > </span><span class = "pun" >{</span><span class = "pln" > alert</span><span class = "pun" >(</span><span class = "str" > "删除数据: " </span><span class = "pln" > </span><span class = "pun" >+</span><span class = "pln" > msg</span><span class = "pun" >);</span><span class = "pln" > $</span><span class = "pun" >(</span><span class = "str" > "#table1" </span><span class = "pun" >).</span><span class = "pln" >trigger</span><span class = "pun" >(</span><span class = "str" > "reloadGrid" </span><span class = "pun" >);</span><span class = "pln" > </span><span class = "pun" >}</span><span class = "pln" > </span><span class = "pun" >});</span><span class = "pln" > </span><span class = "pun" >}</span><span class = "pln" > </span> |
二、实现控制层业务
在Controllers目录下新建控制器“HomeController.cs”,Index.js中产生了四个ajax请求,对应控制层也有四个业务方法。HomeController代码如下:
<span class = "kwd" > public </span><span class = "pln" > </span><span class = "kwd" > class </span><span class = "pln" > </span><span class = "typ" >HomeController</span><span class = "pln" > </span><span class = "pun" >:</span><span class = "pln" > </span><span class = "typ" >Controller</span><span class = "pln" > </span><span class = "pun" >{</span><span class = "pln" > </span><span class = "typ" >UserModel</span><span class = "pln" > userModel </span><span class = "pun" >=</span><span class = "pln" > </span><span class = "kwd" > new </span><span class = "pln" > </span><span class = "typ" >UserModel</span><span class = "pun" >();</span><span class = "pln" > </span><span class = "kwd" > public </span><span class = "pln" > </span><span class = "typ" >ActionResult</span><span class = "pln" > </span><span class = "typ" >Index</span><span class = "pun" >()</span><span class = "pln" > </span><span class = "pun" >{</span><span class = "pln" > </span><span class = "kwd" > return </span><span class = "pln" > </span><span class = "typ" >View</span><span class = "pun" >();</span><span class = "pln" > </span><span class = "pun" >}</span><span class = "pln" > </span><span class = "com" > ///</span><span class="pln"> </span><span class = "com" > /// 获取全部用户列表,通过json将数据提供给jqGrid</span><span class="pln"> </span><span class = "com" > ///</span><span class="pln"> </span><span class = "kwd" > public </span><span class = "pln" > </span><span class = "typ" >JsonResult</span><span class = "pln" > </span><span class = "typ" >UserList</span><span class = "pun" >(</span><span class = "kwd" > string </span><span class = "pln" > sord</span><span class = "pun" >,</span><span class = "pln" > </span><span class = "kwd" > string </span><span class = "pln" > sidx</span><span class = "pun" >,</span><span class = "pln" > </span><span class = "kwd" > string </span><span class = "pln" > rows</span><span class = "pun" >,</span><span class = "pln" > </span><span class = "kwd" > string </span><span class = "pln" > page</span><span class = "pun" >)</span><span class = "pln" > </span><span class = "pun" >{</span><span class = "pln" > </span><span class = "kwd" > var </span><span class = "pln" > list </span><span class = "pun" >=</span><span class = "pln" > userModel</span><span class = "pun" >.</span><span class = "typ" >FindAll</span><span class = "pun" >();</span><span class = "pln" > </span><span class = "kwd" > int </span><span class = "pln" > i </span><span class = "pun" >=</span><span class = "pln" > </span><span class = "lit" >0</span><span class = "pun" >;</span><span class = "pln" > </span><span class = "kwd" > var </span><span class = "pln" > query </span><span class = "pun" >=</span><span class = "pln" > </span><span class = "kwd" > from </span><span class = "pln" > u </span><span class = "kwd" > in </span><span class = "pln" > list </span><span class = "kwd" > select </span><span class = "pln" > </span><span class = "kwd" > new </span><span class = "pln" > </span><span class = "pun" >{</span><span class = "pln" > id </span><span class = "pun" >=</span><span class = "pln" > i</span><span class = "pun" >++,</span><span class = "pln" > cell </span><span class = "pun" >=</span><span class = "pln" > </span><span class = "kwd" > new </span><span class = "pln" > </span><span class = "kwd" > string </span><span class = "pun" >[]{</span><span class = "pln" > u</span><span class = "pun" >[</span><span class = "str" > "UserId" </span><span class = "pun" >].</span><span class = "typ" >ToString</span><span class = "pun" >(),</span><span class = "pln" > u</span><span class = "pun" >[</span><span class = "str" > "UserName" </span><span class = "pun" >].</span><span class = "typ" >ToString</span><span class = "pun" >(),</span><span class = "pln" > u</span><span class = "pun" >[</span><span class = "str" > "Age" </span><span class = "pun" >].</span><span class = "typ" >ToString</span><span class = "pun" >(),</span><span class = "pln" > u</span><span class = "pun" >[</span><span class = "str" > "Tel" </span><span class = "pun" >].</span><span class = "typ" >ToString</span><span class = "pun" >(),</span><span class = "pln" > u</span><span class = "pun" >[</span><span class = "str" > "Email" </span><span class = "pun" >].</span><span class = "typ" >ToString</span><span class = "pun" >(),</span><span class = "pln" > </span><span class = "str" > "-" </span><span class = "pln" > </span><span class = "pun" >}</span><span class = "pln" > </span><span class = "pun" >};</span><span class = "pln" > </span><span class = "kwd" > var </span><span class = "pln" > data </span><span class = "pun" >=</span><span class = "pln" > </span><span class = "kwd" > new </span><span class = "pln" > </span><span class = "pun" >{</span><span class = "pln" > total </span><span class = "pun" >=</span><span class = "pln" > query</span><span class = "pun" >.</span><span class = "typ" >Count</span><span class = "pun" >()</span><span class = "pln" > </span><span class = "pun" >/</span><span class = "pln" > </span><span class = "typ" >Convert</span><span class = "pun" >.</span><span class = "typ" >ToInt32</span><span class = "pun" >(</span><span class = "pln" >rows</span><span class = "pun" >)</span><span class = "pln" > </span><span class = "pun" >+</span><span class = "pln" > </span><span class = "lit" >1</span><span class = "pun" >,</span><span class = "pln" > page </span><span class = "pun" >=</span><span class = "pln" > </span><span class = "typ" >Convert</span><span class = "pun" >.</span><span class = "typ" >ToInt32</span><span class = "pun" >(</span><span class = "pln" >page</span><span class = "pun" >),</span><span class = "pln" > records </span><span class = "pun" >=</span><span class = "pln" > query</span><span class = "pun" >.</span><span class = "typ" >Count</span><span class = "pun" >(),</span><span class = "pln" > rows </span><span class = "pun" >=</span><span class = "pln" > query</span><span class = "pun" >.</span><span class = "typ" >Skip</span><span class = "pun" >(</span><span class = "typ" >Convert</span><span class = "pun" >.</span><span class = "typ" >ToInt32</span><span class = "pun" >(</span><span class = "pln" >rows</span><span class = "pun" >)</span><span class = "pln" > </span><span class = "pun" >*</span><span class = "pln" > </span><span class = "pun" >(</span><span class = "typ" >Convert</span><span class = "pun" >.</span><span class = "typ" >ToInt32</span><span class = "pun" >(</span><span class = "pln" >page</span><span class = "pun" >)</span><span class = "pln" > </span><span class = "pun" >-</span><span class = "pln" > </span><span class = "lit" >1</span><span class = "pun" >)).</span><span class = "typ" >Take</span><span class = "pun" >(</span><span class = "typ" >Convert</span><span class = "pun" >.</span><span class = "typ" >ToInt32</span><span class = "pun" >(</span><span class = "pln" >rows</span><span class = "pun" >))</span><span class = "pln" > </span><span class = "pun" >};</span><span class = "pln" > </span><span class = "kwd" > return </span><span class = "pln" > </span><span class = "typ" >Json</span><span class = "pun" >(</span><span class = "pln" >data</span><span class = "pun" >,</span><span class = "pln" > </span><span class = "typ" >JsonRequestBehavior</span><span class = "pun" >.</span><span class = "typ" >AllowGet</span><span class = "pun" >);</span><span class = "pln" > </span><span class = "pun" >}</span><span class = "pln" > </span><span class = "com" > ///</span><span class="pln"> </span><span class = "com" > /// 响应Js的“Add”ajax请求,执行添加用户操作</span><span class="pln"> </span><span class = "com" > ///</span><span class="pln"> </span><span class = "kwd" > public </span><span class = "pln" > </span><span class = "typ" >ContentResult</span><span class = "pln" > </span><span class = "typ" >Add</span><span class = "pun" >(</span><span class = "kwd" > string </span><span class = "pln" > </span><span class = "typ" >UserId</span><span class = "pun" >,</span><span class = "pln" > </span><span class = "kwd" > string </span><span class = "pln" > </span><span class = "typ" >UserName</span><span class = "pun" >,</span><span class = "pln" > </span><span class = "kwd" > int </span><span class = "pln" > </span><span class = "typ" >Age</span><span class = "pun" >,</span><span class = "pln" > </span><span class = "kwd" > string </span><span class = "pln" > </span><span class = "typ" >Tel</span><span class = "pun" >,</span><span class = "pln" > </span><span class = "kwd" > string </span><span class = "pln" > </span><span class = "typ" >Email</span><span class = "pun" >)</span><span class = "pln" > </span><span class = "pun" >{</span><span class = "pln" > </span><span class = "typ" >Document</span><span class = "pln" > doc </span><span class = "pun" >=</span><span class = "pln" > </span><span class = "kwd" > new </span><span class = "pln" > </span><span class = "typ" >Document</span><span class = "pun" >();</span><span class = "pln" > doc</span><span class = "pun" >[</span><span class = "str" > "UserId" </span><span class = "pun" >]</span><span class = "pln" > </span><span class = "pun" >=</span><span class = "pln" > </span><span class = "typ" >UserId</span><span class = "pun" >;</span><span class = "pln" > doc</span><span class = "pun" >[</span><span class = "str" > "UserName" </span><span class = "pun" >]</span><span class = "pln" > </span><span class = "pun" >=</span><span class = "pln" > </span><span class = "typ" >UserName</span><span class = "pun" >;</span><span class = "pln" > doc</span><span class = "pun" >[</span><span class = "str" > "Age" </span><span class = "pun" >]</span><span class = "pln" > </span><span class = "pun" >=</span><span class = "pln" > </span><span class = "typ" >Age</span><span class = "pun" >;</span><span class = "pln" > doc</span><span class = "pun" >[</span><span class = "str" > "Tel" </span><span class = "pun" >]</span><span class = "pln" > </span><span class = "pun" >=</span><span class = "pln" > </span><span class = "typ" >Tel</span><span class = "pun" >;</span><span class = "pln" > doc</span><span class = "pun" >[</span><span class = "str" > "Email" </span><span class = "pun" >]</span><span class = "pln" > </span><span class = "pun" >=</span><span class = "pln" > </span><span class = "typ" >Email</span><span class = "pun" >;</span><span class = "pln" > </span><span class = "kwd" > try </span><span class = "pln" > </span><span class = "pun" >{</span><span class = "pln" > userModel</span><span class = "pun" >.</span><span class = "typ" >Add</span><span class = "pun" >(</span><span class = "pln" >doc</span><span class = "pun" >);</span><span class = "pln" > </span><span class = "kwd" > return </span><span class = "pln" > </span><span class = "typ" >Content</span><span class = "pun" >(</span><span class = "str" > "添加成功" </span><span class = "pun" >);</span><span class = "pln" > </span><span class = "pun" >}</span><span class = "pln" > </span><span class = "kwd" > catch </span><span class = "pln" > </span><span class = "pun" >{</span><span class = "pln" > </span><span class = "kwd" > return </span><span class = "pln" > </span><span class = "typ" >Content</span><span class = "pun" >(</span><span class = "str" > "添加失败" </span><span class = "pun" >);</span><span class = "pln" > </span><span class = "pun" >}</span><span class = "pln" > </span><span class = "pun" >}</span><span class = "pln" > </span><span class = "com" > ///</span><span class="pln"> </span><span class = "com" > /// 响应Js的“Delete”ajax请求,执行删除用户操作</span><span class="pln"> </span><span class = "com" > ///</span><span class="pln"> </span><span class = "kwd" > public </span><span class = "pln" > </span><span class = "typ" >ContentResult</span><span class = "pln" > </span><span class = "typ" >Delete</span><span class = "pun" >(</span><span class = "kwd" > string </span><span class = "pln" > </span><span class = "typ" >UserId</span><span class = "pun" >)</span><span class = "pln" > </span><span class = "pun" >{</span><span class = "pln" > </span><span class = "kwd" > try </span><span class = "pln" > </span><span class = "pun" >{</span><span class = "pln" > userModel</span><span class = "pun" >.</span><span class = "typ" >Delete</span><span class = "pun" >(</span><span class = "typ" >UserId</span><span class = "pun" >);</span><span class = "pln" > </span><span class = "kwd" > return </span><span class = "pln" > </span><span class = "typ" >Content</span><span class = "pun" >(</span><span class = "str" > "删除成功" </span><span class = "pun" >);</span><span class = "pln" > </span><span class = "pun" >}</span><span class = "pln" > </span><span class = "kwd" > catch </span><span class = "pln" > </span><span class = "pun" >{</span><span class = "pln" > </span><span class = "kwd" > return </span><span class = "pln" > </span><span class = "typ" >Content</span><span class = "pun" >(</span><span class = "str" > "删除失败" </span><span class = "pun" >);</span><span class = "pln" > </span><span class = "pun" >}</span><span class = "pln" > </span><span class = "pun" >}</span><span class = "pln" > </span><span class = "com" > ///</span><span class="pln"> </span><span class = "com" > /// 响应Js的“Update”ajax请求,执行更新用户操作</span><span class="pln"> </span><span class = "com" > ///</span><span class="pln"> </span><span class = "kwd" > public </span><span class = "pln" > </span><span class = "typ" >ContentResult</span><span class = "pln" > </span><span class = "typ" >Update</span><span class = "pun" >(</span><span class = "kwd" > string </span><span class = "pln" > </span><span class = "typ" >UserId</span><span class = "pun" >,</span><span class = "pln" > </span><span class = "kwd" > string </span><span class = "pln" > </span><span class = "typ" >UserName</span><span class = "pun" >,</span><span class = "pln" > </span><span class = "kwd" > int </span><span class = "pln" > </span><span class = "typ" >Age</span><span class = "pun" >,</span><span class = "pln" > </span><span class = "kwd" > string </span><span class = "pln" > </span><span class = "typ" >Tel</span><span class = "pun" >,</span><span class = "pln" > </span><span class = "kwd" > string </span><span class = "pln" > </span><span class = "typ" >Email</span><span class = "pun" >)</span><span class = "pln" > </span><span class = "pun" >{</span><span class = "pln" > </span><span class = "typ" >Document</span><span class = "pln" > doc </span><span class = "pun" >=</span><span class = "pln" > </span><span class = "kwd" > new </span><span class = "pln" > </span><span class = "typ" >Document</span><span class = "pun" >();</span><span class = "pln" > doc</span><span class = "pun" >[</span><span class = "str" > "UserId" </span><span class = "pun" >]</span><span class = "pln" > </span><span class = "pun" >=</span><span class = "pln" > </span><span class = "typ" >UserId</span><span class = "pun" >;</span><span class = "pln" > doc</span><span class = "pun" >[</span><span class = "str" > "UserName" </span><span class = "pun" >]</span><span class = "pln" > </span><span class = "pun" >=</span><span class = "pln" > </span><span class = "typ" >UserName</span><span class = "pun" >;</span><span class = "pln" > doc</span><span class = "pun" >[</span><span class = "str" > "Age" </span><span class = "pun" >]</span><span class = "pln" > </span><span class = "pun" >=</span><span class = "pln" > </span><span class = "typ" >Age</span><span class = "pun" >;</span><span class = "pln" > doc</span><span class = "pun" >[</span><span class = "str" > "Tel" </span><span class = "pun" >]</span><span class = "pln" > </span><span class = "pun" >=</span><span class = "pln" > </span><span class = "typ" >Tel</span><span class = "pun" >;</span><span class = "pln" > doc</span><span class = "pun" >[</span><span class = "str" > "Email" </span><span class = "pun" >]</span><span class = "pln" > </span><span class = "pun" >=</span><span class = "pln" > </span><span class = "typ" >Email</span><span class = "pun" >;</span><span class = "pln" > </span><span class = "kwd" > try </span><span class = "pln" > </span><span class = "pun" >{</span><span class = "pln" > userModel</span><span class = "pun" >.</span><span class = "typ" >Update</span><span class = "pun" >(</span><span class = "pln" >doc</span><span class = "pun" >);</span><span class = "pln" > </span><span class = "kwd" > return </span><span class = "pln" > </span><span class = "typ" >Content</span><span class = "pun" >(</span><span class = "str" > "修改成功" </span><span class = "pun" >);</span><span class = "pln" > </span><span class = "pun" >}</span><span class = "pln" > </span><span class = "kwd" > catch </span><span class = "pln" > </span><span class = "pun" >{</span><span class = "pln" > </span><span class = "kwd" > return </span><span class = "pln" > </span><span class = "typ" >Content</span><span class = "pun" >(</span><span class = "str" > "修改失败" </span><span class = "pun" >);</span><span class = "pln" > </span><span class = "pun" >}</span><span class = "pln" > </span><span class = "pun" >}</span><span class = "pln" > </span><span class = "pun" >}</span><span class = "pln" > </span> |
三、实现模型层数据访问
最后,我们在Models新建一个Home文件夹,添加模型“UserModel.cs”,实现MongoDB数据库访问代码如下:
<span class = "kwd" > public </span><span class = "pln" > </span><span class = "kwd" > class </span><span class = "pln" > </span><span class = "typ" >UserModel</span><span class = "pln" > </span><span class = "pun" >{</span><span class = "pln" > </span><span class = "com" > //链接字符串(此处三个字段值根据需要可为读配置文件)</span><span class="pln"> </span><span class = "kwd" > public </span><span class = "pln" > </span><span class = "kwd" > string </span><span class = "pln" > connectionString </span><span class = "pun" >=</span><span class = "pln" > </span><span class = "str" > "mongodb://localhost" </span><span class = "pun" >;</span><span class = "pln" > </span><span class = "com" > //数据库名</span><span class="pln"> </span><span class = "kwd" > public </span><span class = "pln" > </span><span class = "kwd" > string </span><span class = "pln" > databaseName </span><span class = "pun" >=</span><span class = "pln" > </span><span class = "str" > "myDatabase" </span><span class = "pun" >;</span><span class = "pln" > </span><span class = "com" > //集合名</span><span class="pln"> </span><span class = "kwd" > public </span><span class = "pln" > </span><span class = "kwd" > string </span><span class = "pln" > collectionName </span><span class = "pun" >=</span><span class = "pln" > </span><span class = "str" > "userCollection" </span><span class = "pun" >;</span><span class = "pln" > </span><span class = "kwd" > private </span><span class = "pln" > </span><span class = "typ" >Mongo</span><span class = "pln" > mongo</span><span class = "pun" >;</span><span class = "pln" > </span><span class = "kwd" > private </span><span class = "pln" > </span><span class = "typ" >MongoDatabase</span><span class = "pln" > mongoDatabase</span><span class = "pun" >;</span><span class = "pln" > </span><span class = "kwd" > private </span><span class = "pln" > </span><span class = "typ" >MongoCollection</span><span class = "pln" > mongoCollection</span><span class = "pun" >;</span><span class = "pln" > </span><span class = "kwd" > public </span><span class = "pln" > </span><span class = "typ" >UserModel</span><span class = "pun" >()</span><span class = "pln" > </span><span class = "pun" >{</span><span class = "pln" > mongo </span><span class = "pun" >=</span><span class = "pln" > </span><span class = "kwd" > new </span><span class = "pln" > </span><span class = "typ" >Mongo</span><span class = "pun" >(</span><span class = "pln" >connectionString</span><span class = "pun" >);</span><span class = "pln" > mongoDatabase </span><span class = "pun" >=</span><span class = "pln" > mongo</span><span class = "pun" >.</span><span class = "typ" >GetDatabase</span><span class = "pun" >(</span><span class = "pln" >databaseName</span><span class = "pun" >)</span><span class = "pln" > </span><span class = "kwd" > as </span><span class = "pln" > </span><span class = "typ" >MongoDatabase</span><span class = "pun" >;</span><span class = "pln" > mongoCollection </span><span class = "pun" >=</span><span class = "pln" > mongoDatabase</span><span class = "pun" >.</span><span class = "typ" >GetCollection</span><span class = "pun" >(</span><span class = "pln" >collectionName</span><span class = "pun" >)</span><span class = "pln" > </span><span class = "kwd" > as </span><span class = "pln" > </span><span class = "typ" >MongoCollection</span><span class = "pun" >;</span><span class = "pln" > mongo</span><span class = "pun" >.</span><span class = "typ" >Connect</span><span class = "pun" >();</span><span class = "pln" > </span><span class = "pun" >}</span><span class = "pln" > </span><span class = "pun" >~</span><span class = "typ" >UserModel</span><span class = "pun" >()</span><span class = "pln" > </span><span class = "pun" >{</span><span class = "pln" > mongo</span><span class = "pun" >.</span><span class = "typ" >Disconnect</span><span class = "pun" >();</span><span class = "pln" > </span><span class = "pun" >}</span><span class = "pln" > </span><span class = "com" > ///</span><span class="pln"> </span><span class = "com" > /// 增加一条用户记录</span><span class="pln"> </span><span class = "com" > ///</span><span class="pln"> </span><span class = "com" > ///</span><span class="pln"> </span><span class = "str" ><span></span><span class = "pln" > </span><span class = "pun" ><</span><span class = "str" >/span> public void Add(Document doc) { mongoCollection.Insert(doc); } /</span><span class = "com" > //</span><span class="pln"> </span><span class = "com" > /// 删除一条用户记录</span><span class="pln"> </span><span class = "com" > ///</span><span class="pln"> </span><span class = "kwd" > public </span><span class = "pln" > </span><span class = "kwd" > void </span><span class = "pln" > </span><span class = "typ" >Delete</span><span class = "pun" >(</span><span class = "kwd" > string </span><span class = "pln" > </span><span class = "typ" >UserId</span><span class = "pun" >)</span><span class = "pln" > </span><span class = "pun" >{</span><span class = "pln" > mongoCollection</span><span class = "pun" >.</span><span class = "typ" >Remove</span><span class = "pun" >(</span><span class = "kwd" > new </span><span class = "pln" > </span><span class = "typ" >Document</span><span class = "pln" > </span><span class = "pun" >{</span><span class = "pln" > </span><span class = "pun" >{</span><span class = "pln" > </span><span class = "str" > "UserId" </span><span class = "pun" >,</span><span class = "pln" > </span><span class = "typ" >UserId</span><span class = "pln" > </span><span class = "pun" >}</span><span class = "pln" > </span><span class = "pun" >});</span><span class = "pln" > </span><span class = "pun" >}</span><span class = "pln" > </span><span class = "com" > ///</span><span class="pln"> </span><span class = "com" > /// 更新一条用户记录</span><span class="pln"> </span><span class = "com" > ///</span><span class="pln"> </span><span class = "com" > ///</span><span class="pln"> </span><span class = "kwd" > public </span><span class = "pln" > </span><span class = "kwd" > void </span><span class = "pln" > </span><span class = "typ" >Update</span><span class = "pun" >(</span><span class = "typ" >Document</span><span class = "pln" > doc</span><span class = "pun" >)</span><span class = "pln" > </span><span class = "pun" >{</span><span class = "pln" > mongoCollection</span><span class = "pun" >.</span><span class = "typ" >FindAndModify</span><span class = "pun" >(</span><span class = "pln" >doc</span><span class = "pun" >,</span><span class = "pln" > </span><span class = "kwd" > new </span><span class = "pln" > </span><span class = "typ" >Document</span><span class = "pln" > </span><span class = "pun" >{</span><span class = "pln" > </span><span class = "pun" >{</span><span class = "pln" > </span><span class = "str" > "UserId" </span><span class = "pun" >,</span><span class = "pln" > doc</span><span class = "pun" >[</span><span class = "str" > "UserId" </span><span class = "pun" >].</span><span class = "typ" >ToString</span><span class = "pun" >()</span><span class = "pln" > </span><span class = "pun" >}</span><span class = "pln" > </span><span class = "pun" >});</span><span class = "pln" > </span><span class = "pun" >}</span><span class = "pln" > </span><span class = "com" > ///</span><span class="pln"> </span><span class = "com" > /// 查找所有用户记录</span><span class="pln"> </span><span class = "com" > ///</span><span class="pln"> </span><span class = "com" > ///</span><span class="pln"> </span><span class = "kwd" > public </span><span class = "pln" > </span><span class = "typ" >IEnumerable</span><span class = "pln" > </span><span class = "typ" >FindAll</span><span class = "pun" >()</span><span class = "pln" > </span><span class = "pun" >{</span><span class = "pln" > </span><span class = "kwd" > return </span><span class = "pln" > mongoCollection</span><span class = "pun" >.</span><span class = "typ" >FindAll</span><span class = "pun" >().</span><span class = "typ" >Documents</span><span class = "pun" >;</span><span class = "pln" > </span><span class = "pun" >}</span><span class = "pln" > </span><span class = "pun" >}</span><span class = "pln" > </span> |
四、小结
代码下载:http://files.cnblogs.com/lipan/MongoDB_003.rar
自此为止一个简单MongoDB表格数据操作的功能就实现完毕了,相信读者在看完这篇文章后,差不多都可以轻松实现MongoDB项目的开发应用了。聪明的你一定会比本文做的功能更完善,更好。下篇计划讲解linq的方式访问数据集合。