返回“ASP.NET 2.0数据教程目录”
导言:
在前面的第64章《Batch Updating》里,我们用GridView控件 里定制了一个批编辑界面,同样的我们也可以定制一个批添加界面.假设有这种情 况,我们接受一批从Tokyo(东京)发过来的货物:6种不同的tea 和 coffee,如果 用户在一个DetailsView控件里一次输入一个产品,他将会重复的输入很多相同的 值,比如相同的种类(Beverages),相同的供应商(Tokyo Traders),相同的 discontinued值(False),以及相同的order值(0).重复性的输入这些相同的值不仅 累,还很容易出错.只需额外多做一些工作,我们就可以创建一个批添加界面。用 户只需一次行的选择supplier 和category,输入一系列产品的names 和unit prices,再点击一个按钮就可以将这些新产品添加进数据库(如图1所示).这些添 加的产品的ProductName 和UnitPrice数据由界面上方的2个DropDownList控件指 定,Discontinued 和UnitsOnOrder的值由“硬编辑”指定,分别为 false和0.
图1:批添加界面
本教程,我们将创建一个如图1所示的批添加 界面。在前面2章的基础上我们将把添加过程用事务封装以保证原子操作.让我们 开始吧!
第一步:创建一个展示界面
我们将创建一个包含2个区域 的单一页面:展示区域和添加区域.我们在这一步创建的是展示区域,它包含一个 用于展示产品的GridView控件以及一个标题为“Process Product Shipment”的button按钮.当点击该按钮时,展示界面将替换为一个如图1所 示的添加界面.如果点“Add Products from Shipment” 或 “Cancel”按钮时又会返回展示页面.添加界面将在第二步完 成.
这个包含2个界面的页面每次只能让一个界面可见。我们将用2个Panel Web控件作为容器包含这2个界面——一个Panel Web控件包含一个界面 .
首先打开BatchData文件夹里的BatchInsert.aspx页面,在设计器模式里 从工具箱里拖一个Panel控件到页面(如图2所示),设置其ID为DisplayInterface. 当将Panel控件拖到页面时其Height 和 Width属性分别为50px 和 125px.在属性 窗口里清除这些属性.
图2:从工具箱里拖一个Panel控件到页面