<强>第一步:在DataList的ItemTemplate创建一个可编辑的用户界面强>
在前面创建一个标准的项目级编辑的DataList时,我们使用了两个模板:
ItemTemplate -包含只读的用户界面(使用标签显示每个产品的名称和价格)。
EditItemTemplate -包含编辑的用户界面(两个文本框)。
DataList的EditItemIndex属性表明了哪个DataListItem使用EditItemTemplate来展示(如果有的话)。即ItemIndex的值等于DataList的EditItemIndex的DataListItem使用EditItemTemplate来展示。在一次只编辑一个条目的情况下,这个模式工作的很好,但是在创建完全可编辑的DataList的时候就不适用了。
对完全可编辑的DataList来说,我们需要所有的DataListItem都以可编辑的界面来展示。最简单的方法是在ItemTemplate里定义可编辑的界面。对修改供应商的地址信息而言,可编辑界面里供应商表现为文本、地址、城市和乡村的值都用文本框来表示。
首先打开BatchUpdate。aspx页,添加一个DataList,将ID设为供应商。通过智能标签添加一个名为SuppliersDataSource的ObjectDataSource来控件。
& 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实现批量更新