在ASP.NET 2.0中操作数据之三十六:在DataList里编辑和删除数据
| 
 
 
 记住除了ItemCommand外,这些事件会激发。 为EditItemTemplate添加两个Button,一个CommandName设为"Update",一个设为"Cancel"。完成后,设计界面看起来应该和下面差不多: 
 你的标记语言看起来应该和下面差不多: 
<asp:DataList ID="DataList1" runat="server" DataKeyField="ProductID"
 DataSourceID="ObjectDataSource1" RepeatColumns="2">
 <ItemTemplate>
 <h5>
  <asp:Label runat="server" ID="ProductNameLabel"
  Text='<%# Eval("ProductName") %>' />
 </h5>
 Price: <asp:Label runat="server" ID="Label1"
   Text='<%# Eval("UnitPrice", "{0:C}") %>' />
 <br />
 <br />
 </ItemTemplate>
 <EditItemTemplate>
 Product name:
  <asp:TextBox ID="ProductName" runat="server"
  Text='<%# Eval("ProductName") %>' /><br />
 Price:
  <asp:TextBox ID="UnitPrice" runat="server"
  Text='<%# Eval("UnitPrice", "{0:C}") %>' /><br />
 <br />
 <asp:Button ID="UpdateProduct" runat="server"
  CommandName="Update" Text="Update" /> 
 <asp:Button ID="CancelUpdate" runat="server"
  CommandName="Cancel" Text="Cancel" />
 </EditItemTemplate>
</asp:DataList>
第五步: 添加进入编辑模式的入口 现在我们的DataList有一个编辑界面了。然而现在还没有办法来体现出用户需要编辑product信息。我们需要为每个product加一个Edit button,当点击时,将DataList item展示为编辑模式。同样的可以通过设计器或直接声明代码来添加。确保将Edit button的commandName属性设为"Edit".添加完后,浏览一下页面。 
 点击button会引起postback,但是并没有进入product的编辑模式。为了完成这个,我们需要:   设置DataList的 EditItemIndex property 为 被点击了Edit button的 DataListItem的 index . 由于在点Edit button时,DataList的EditCommand事件被激发,使用下面的代码创建一个EditCommand event handler : protected void DataList1_EditCommand(object source, DataListCommandEventArgs e) EditCommand event handler 的第二个参数类型为DataListCommandEventArgs ,它是被点击的Edit button的DataListItem的引用(e.Item).首先设置DataList的EditItemIndex为想编辑的DataListItem的ItemIndex,然后重新绑定数据。完成后再浏览页面。点Edit button,现在product变成了可编辑的。见图13。 
 第六步: 保存用户的更改 (编辑:南平站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! | 




