ASP。NET 2.0中怎么利用DataList实现批量更新

  

<强>第一步:在DataList的ItemTemplate创建一个可编辑的用户界面

在前面创建一个标准的项目级编辑的DataList时,我们使用了两个模板:

ItemTemplate -包含只读的用户界面(使用标签显示每个产品的名称和价格)。
EditItemTemplate -包含编辑的用户界面(两个文本框)。

DataList的EditItemIndex属性表明了哪个DataListItem使用EditItemTemplate来展示(如果有的话)。即ItemIndex的值等于DataList的EditItemIndex的DataListItem使用EditItemTemplate来展示。在一次只编辑一个条目的情况下,这个模式工作的很好,但是在创建完全可编辑的DataList的时候就不适用了。

对完全可编辑的DataList来说,我们需要所有的DataListItem都以可编辑的界面来展示。最简单的方法是在ItemTemplate里定义可编辑的界面。对修改供应商的地址信息而言,可编辑界面里供应商表现为文本、地址、城市和乡村的值都用文本框来表示。

首先打开BatchUpdate。aspx页,添加一个DataList,将ID设为供应商。通过智能标签添加一个名为SuppliersDataSource的ObjectDataSource来控件。

 ASP。NET 2.0中怎么利用DataList实现批量更新“> <br/> <强>图2:创建一个名为SuppliersDataSource的ObjectDataSource来</强> </p> <p>使用SuppliersBLL类的GetSuppliers()方法配置ObjectDataSource来(见图3)。象前面一章那样,我们将直接使用BLL而不是通过ObjectDataSource来来更新供应商信息。在更新标签里选择没有(见图4)。</p> <p> <img src= & lt; asp: DataList  ID=癝uppliers", runat=皊erver", DataKeyField=癝upplierID"   ,,DataSourceID=癝uppliersDataSource"的在   ,& lt; ItemTemplate>   & lt;才能h5> & lt; asp: Label  ID=癈ompanyNameLabel", runat=皊erver"   ,,文本=& # 39;& lt; % #, Eval (“CompanyName"), %祝辞& # 39;,/祝辞& lt;/h5>   & lt;才能table 边界=?”;在   ,,& lt; tr>   ,,,& lt; td 类=癝upplierPropertyLabel"在地址:& lt;/td>   ,,,& lt; td 类=癝upplierPropertyValue"比;   ,,,,& lt; asp: TextBox  ID=癆ddress", runat=皊erver"   ,,,,,文本=& # 39;& lt; % #, Eval (“Address"), %祝辞& # 39;,/比;   ,,,& lt;/td>   ,,& lt;/tr>   ,,& lt; tr>   ,,,& lt; td 类=癝upplierPropertyLabel"在城市:& lt;/td>   ,,,& lt; td 类=癝upplierPropertyValue"比;   ,,,,& lt; asp: TextBox  ID=癈ity", runat=皊erver"   ,,,,,文本=& # 39;& lt; % #, Eval (“City"), %祝辞& # 39;,/比;   ,,,& lt;/td>   ,,& lt;/tr>   ,,& lt; tr>   ,,,& lt; td 类=癝upplierPropertyLabel"祝辞:& lt;/td>   ,,,& lt; td 类=癝upplierPropertyValue"比;   ,,,,& lt; asp: TextBox  ID=癈ountry", runat=皊erver"   ,,,,,文本=& # 39;& lt; % #, Eval (“Country"), %祝辞& # 39;,/比;   ,,,& lt;/td>   ,,& lt;/tr>   & lt;才能/table>   & lt;才能br /比;   ,& lt;/ItemTemplate>   & lt;/asp: DataList>   & lt; asp: ObjectDataSource  ID=癝uppliersDataSource", runat=皊erver"   ,OldValuesParameterFormatString=皁riginal_ {0}“;   ,SelectMethod=癎etSuppliers" TypeName=癝uppliersBLL"比;   & lt;/asp: ObjectDataSource>

注意:和前面一章一样,需要为DataList开启viewstate。

在ItemTemplate里我使用了两个新的CSS类,SupplierPropertyLabel和SupplierPropertyValue。它们的风格设置和ProductsPropertyLabel和ProductPropertyValue CSS类一样,并已经加入到风格。css中。

.ProductPropertyLabel, .SupplierPropertyLabel   {   ,粗细:大胆的;   ,text-align:正确的;   }   .ProductPropertyValue, .SupplierPropertyValue   {   ,padding-right: 35 px;   }

ASP。NET 2.0中怎么利用DataList实现批量更新