![ASP.NET项目开发全程实录(第4版)](https://wfqqreader-1252317822.image.myqcloud.com/cover/589/26793589/b_26793589.jpg)
3.9 产品信息管理模块设计
3.9.1 产品信息管理模块概述
产品管理模块主要对公司的产品信息进行各种操作,其中主要包括添加产品信息、修改产品信息、删除产品信息和查询产品信息等操作。产品信息管理页面运行结果如图3.22所示。
![](https://epubservercos.yuewen.com/60F777/15253385804108706/epubprivate/OEBPS/Images/Figure-P159_9747.jpg?sign=1739280673-FmPGkVBZQf1H7QBC7T9csqe4aigRRtWF-0-f8786bab446121c95d0fb1d3dd6b5f86)
图3.22 产品信息管理页面
3.9.2 产品信息管理模块技术分析
产品信息管理模块实现时,主要使用ADO.NET技术对产品信息进行添加、修改、删除和查询等操作,具体实现时,主要是通过调用ProductOperate类中的相关方法实现的。ProductOperate类是用户自定义的一个产品操作类,其中封装了与产品相关的信息及各种操作方法,它的实现原理与UserOperate类(用户操作类)类似,都是建立在数据层(DataBase.cs数据库操作类)的基础上。ProductOperate类的实现代码请参见本书附带资源包中的源代码,这里不再详细讲解。
3.9.3 产品信息管理模块实现过程
本模块使用的数据表:tb_Product
产品信息管理模块的具体实现步骤如下:
(1)新建一个基于MasterPage.master母版页的Web页面,命名为ProductManage.aspx,主要用于对产品信息进行添加、修改、删除和查询等操作,该页面中主要用到的控件如表3.12所示。
表3.12 产品信息管理页面主要用到的控件
![](https://epubservercos.yuewen.com/60F777/15253385804108706/epubprivate/OEBPS/Images/Figure-T159_33384.jpg?sign=1739280673-Ll6iBW2CmbmaoUAmBG3gaOvQ8EP9Vg1U-0-c3fe41db3a18219807d03971ef5fab27)
(2)在ProductManage.aspx页面中,首先创建公共类DataOperate和ProductOperate的对象,以便调用其中的方法,代码如下:
例程39 代码位置:资源包\TM\03\EnterpriseWeb\Manager\ProductManage.aspx.cs
DataOperate dataoperate = new DataOperate(); //创建DataOperate对象 ProductOperate productoperate = new ProductOperate(); //创建ProductOperate对象
ProductManage.aspx页面中自定义了一个BindInfo方法,该方法用来根据接收的类别编号和输入的查询条件获取指定的产品信息,并显示在GridView控件中。BindInfo方法的实现代码如下:
例程40 代码位置:资源包\TM\03\EnterpriseWeb\Manager\ProductManage.aspx.cs
![](https://epubservercos.yuewen.com/60F777/15253385804108706/epubprivate/OEBPS/Images/Figure-P160_33389.jpg?sign=1739280673-J39VwyFyda8fqMbN8fK2k1HghLINIw8Y-0-86c2e402843deb5ce1f205a2d0bee699)
ProductManage.aspx页面加载时,调用自定义方法BindInfo在GridView控件中显示指定类别的产品信息,其实现代码如下:
例程41 代码位置:资源包\TM\03\EnterpriseWeb\Manager\ProductManage.aspx.cs
![](https://epubservercos.yuewen.com/60F777/15253385804108706/epubprivate/OEBPS/Images/Figure-P161_33393.jpg?sign=1739280673-IxKIwkI430wLUFX5INmbWN8KOxdCkEzP-0-2557ff0988b6e988e47f5ede62dacf64)
单击“添加”按钮,首先判断输入的产品名称是否为空,如果为空,则弹出信息提示,否则调用DataOperate类中的validateNum方法判断“价格”文本框中输入的是否为数字,如果是数字,则调用ProductOperate类中的AddProduct方法将产品信息添加到数据库中。“添加”按钮的Click事件代码如下:
例程42 代码位置:资源包\TM\03\EnterpriseWeb\Manager\ProductManage.aspx.cs
![](https://epubservercos.yuewen.com/60F777/15253385804108706/epubprivate/OEBPS/Images/Figure-P162_33395.jpg?sign=1739280673-LanekbNprHaZWe7r8qkOQCDq3deeF2E5-0-44605dd443ba94834864b4e57feafbf4)
![](https://epubservercos.yuewen.com/60F777/15253385804108706/epubprivate/OEBPS/Images/Figure-P163_33396.jpg?sign=1739280673-BcmlNzH3mqIoNc8a7pO3ZvwNL8nsmKHn-0-b29b0e32c02c7cf15304ba0345590987)
当在GridView控件中单击“选择”超级链接时,将选中的产品信息显示在相应的文本框中,实现代码如下:
例程43 代码位置:资源包\TM\03\EnterpriseWeb\Manager\ProductManage.aspx.cs
![](https://epubservercos.yuewen.com/60F777/15253385804108706/epubprivate/OEBPS/Images/Figure-P163_33398.jpg?sign=1739280673-tAeVahrCHj7KfHfLjxjfpD5hZ7xU20yR-0-f29c9ee52da4fe04867a603b7a54c3b7)
单击“修改”按钮,判断是否选中了要修改的产品,如果是,则调用ProductOperate类中的UpdataProduct方法修改指定的产品信息,否则弹出“请选择要修改的产品”信息提示。“修改”按钮的Click事件代码如下:
例程44 代码位置:资源包\TM\03\EnterpriseWeb\Manager\ProductManage.aspx.cs
![](https://epubservercos.yuewen.com/60F777/15253385804108706/epubprivate/OEBPS/Images/Figure-P163_33400.jpg?sign=1739280673-8DMifK0TTqb6d7tL87HSyHwEAVg6ooYK-0-61299161e532aad05a35cd0afccfac30)
当在GridView控件中单击“删除”超级链接时,调用ProductOperate类中的DeleteProduct方法删除选中的产品信息,实现代码如下:
例程45 代码位置:资源包\TM\03\EnterpriseWeb\Manager\ProductManage.aspx.cs
![](https://epubservercos.yuewen.com/60F777/15253385804108706/epubprivate/OEBPS/Images/Figure-P164_33403.jpg?sign=1739280673-JS77n1JvacGJ5WHvHE4LA82H1YEC0HWF-0-49cc5cfce75374edef5de8dbd4f62bab)
单击“查询”按钮,调用自定义方法BindInfo按指定条件查询信息,并显示在GridView控件中。“查询”按钮的Click事件代码如下:
例程46 代码位置:资源包\TM\03\EnterpriseWeb\Manager\ProductManage.aspx.cs
![](https://epubservercos.yuewen.com/60F777/15253385804108706/epubprivate/OEBPS/Images/Figure-P164_33405.jpg?sign=1739280673-SAmL10AzwLDZJYiHaaLCjY01K7Dc6hwR-0-0f8ab41691deadc0bacde60de794c68a)