请教高手:datalist控件的编辑问题
ASP.net程序设计基础篇》里面说:
OnItemCommand 当在ItemTemplate 中所宣告的Button 或LinkButton 控件触发事件时,如果
该控件的CommandName 属性内容不是Edit、Cancel、Delete 或Update 时,便触发本事件。
OnEditCommand当在ItemTemplate 中所宣告的Button 或LinkButton 控件触发事件时,如果
控件的CommandName 属性为Edit 时,则触发本事件。
为什么我按照它的做(稍微有点改动)缺出现问题呢?
代码如下:
<asp:DataList id="DataList1" runat="server">
<SelectedItemTemplate>
<%#container.dataitem("biaoti")%><br>
<%#container.dataitem("shijian")%>
<asp:Button CommandName="edit" Runat="server" Text="edit"></asp:Button>
</SelectedItemTemplate>
<ItemTemplate>
<%#container.dataitem("biaoti")%>
<asp:Button Runat="server" Text="info"></asp:Button>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox Text="sdfasfas"></asp:TextBox>
</EditItemTemplate>
</asp:DataList>
Private Sub DataList1_ItemCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataListCommandEventArgs) Handles DataList1.ItemCommand
DataList1.SelectedIndex = e.Item.ItemIndex
binddata()
End Sub
Private Sub DataList1_EditCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataListCommandEventArgs) Handles DataList1.EditCommand
DataList1.SelectedIndex = -1
DataList1.EditItemIndex = e.Item.ItemIndex
binddata()
End Sub
程序执行结果:(在把datalist控件的enableviewstate属性改成false的情况下,为什么?)点击info按钮能进入<SelectedItemTemplate>,但是再点击edit按钮却没有反应,不能进入<EditItemTemplate>,为什么?
把itemcommand事件改成下面的也不行。
Private Sub DataList1_ItemCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataListCommandEventArgs) Handles DataList1.ItemCommand
DataList1.SelectedIndex = e.Item.ItemIndex
binddata()
If e.CommandSource.commandname = "edit" Then
DataList1.EditItemIndex = e.Item.ItemIndex
binddata()
End If
End Sub
问题点数:30、回复次数:1Top
1 楼tomtown530(梦想一定会实现!)回复于 2004-12-03 14:26:23 得分 30
可能datalist 需要viestate来保存当前被选中的项吧,你不要取掉嘛。Top




