当前位置:首页 > ASP.NET MVC+LINQ开发一个图书销售站点(10):作者管理

ASP.NET MVC+LINQ开发一个图书销售站点(10):作者管理

点击次数:876  更新日期:2010-12-30
\n

作者添加、删除、修改,基本和前面的目录管理类似,这里我们更多的用了些MVC 的Html Helper


\n

1、前面我们把数据的存取全部放到BookShopDBDataContext分部类里,但是如果功能很多,那么比较凌乱,我们这里按每一个大点的功能放到一个文件里


\n

首先,我们Model里建立一个DALBase的抽象类,当然你也可以新建一个DAL层。


\n

image


\n

2. 我们再建立一个AuthorDAL内容如下:


\n

image


\n

疑问:上面黄色的地方,我觉得很怪异,因为那个model我是从数据库里get出来的,但是如果这个是new出来的一个Author,而且authorId是数据库已有的,我的意思是直接根据new出来Author的对数据库来修改,不知有何方法,熟悉Linq的朋友可以告诉我下?


\n

3. 浏览作者


\n

(1).在Controller下新建一个AuthorController


\n

image


\n

(2)对应的,我们需要在View下新建一个Author目录,在Author目录下再建立一个AllAuthors.aspx


\n

修改AllAuthors.aspx.cs如下:


\n

image


\n

(3) 修改AllAuthors.aspx如下,


\n

image


\n

注意,上面两个黄色突出显示的地方,我们用的是authorId而不是id,那么我们如果想Edit时地址显示为Edit/1或Edit/2等,而且能自动传给我们Action方法做参数,我们必须修改默认的路由,打开Global.asax,在最上面添加下面黄色的代码


\n

image


\n

(4) 由于没有数据,我们看到如下的效果:


\n

image


\n

4. 添加作者:


\n

(1)修改AuthorController,添加如下方法:


\n

image


\n

(2).同样我们需要在View\\Author目录下新建一个AddAuthor.aspx


\n

修改AddAuthor.aspx如下:(黄色展示了MVC Html Helper的一些用法)


\n

image


\n

image image


\n

5. 修改作者:


\n

(1) 添加如下方法到AuthorController


\n

image


\n

(2)在View\\Author下添加EditAuthor.aspx


\n

修改EditAuthor.aspx.cs如下:


\n

image


\n

修改EditAuthor.aspx如下


\n

image


\n

疑问: 我用上面红色(注释掉的)的方法却不能走到EditSaved的Action,不知为何,而且报错,说是超出边界,哪位兄弟知道原因?谢谢!


\n

image


\n

6.删除作者


\n

删除很简单,我们在AuthorController里添加如下方法即可


\n

image


\n

注意:这里没有添加验证,可以参考上面一篇blog的方法来添加验证。

\n