我做了个留言板,用datalist绑定了所有人的留言
datalist 绑定数据后,想删除指定的留言,应该怎么做
还有就是DataList1 .DataKeys [e.Item.ItemIndex]这个是什么意思呢
要用这个吗
datalist 绑定数据后,想删除指定的留言,应该怎么做
还有就是DataList1 .DataKeys [e.Item.ItemIndex]这个是什么意思呢
要用这个吗
<EditItemTemplate>
<asp:LinkButton Runat="server" CommandName="cancel" ID="btnCancel">取消</asp:LinkButton>
</EditItemTemplate>
protected void DataList1_DeleteCommand(object source, DataListCommandEventArgs e)
{
int ID = Convert.ToInt32(DataList1.DataKeys[e.Item.ItemIndex]);
//删除数据 DataList1.DataBind();
}
protected void DataList2_ItemCommand(object source, DataListCommandEventArgs e)
{
if (e.CommandName == "delete")
{
string ID= (string)DataList2.DataKeys[e.Item.ItemIndex];
string strSQL = "delete from ....
}
}
设置DataList的DataKeyField的属性为主键ID, 设置Button的CommandName的属性为delete。
然后根据ID 删除就可以了。CommandName 事件这样获取不到ID的吧。 最好方法就是给按钮绑定索引 。或得你绑定按钮的索引值
可是这样的话他就会出现错误:“索引超出范围。必须为非负值并小于集合大小。参数名: index ”
麻烦大家了
感激不尽啊
{
this.DataList1.DataKeyField = "roomId";
}protected void DataList1_ItemCommand(object source, DataListCommandEventArgs e)
{
this.DataList1.Items[e.Item.ItemIndex].BackColor = Color.Red;
int index = Convert.ToInt32(this.DataList1.DataKeys[e.Item.ItemIndex]);
Session["index"] = index;
Room room = RoomManager.GetRoomStateByRoomId(Convert.ToInt32(Session["index"]));
this.RadioButtonList1.SelectedValue = room.State.ToString();
}
在这个下写的
呵呵
我在问个愚蠢的问题:怎样把数据库中的ID 绑定到DATALIST 里的一个属性上去??
呵呵
谢谢了
但是总提示:回发或回调参数无效。在配置中使用 <pages enableEventValidation="true"/> 或在页面中使用 <%@ Page EnableEventValidation="true" %> 启用了事件验证。出于安全目的,此功能验证回发或回调事件的参数是否来源于最初呈现这些事件的服务器控件。如果数据有效并且是预期的,则使用 ClientScriptManager.RegisterForEventValidation 方法来注册回发或回调数据以进行验证。