ListView的删除绑定有问题

记录一个之前遇到的问题。使用ListView绑定DataSource,然后在DataSource中的增删改查方法关联的是自己写的DAL层方法,使用的也是自己写的Model层类型。绑定后使用发现:查询、添加、修改这三个方法都很正常,没有问题。但是删除方法有问题了,删不掉数据。经过调试发现在DAL的删除方法被调用时,传入的参数是空的,没有内容。一直没有找到解决的办法。

目前是使用ListView的ItemDeleting事件进行迂回解决,代码如下:

protected void ListView1_ItemDeleting(object sender, ListViewDeleteEventArgs e)
{
    //得到当前操作所处理的数据行
    ListViewItem lvi = ListView1.Items[e.ItemIndex];
    //通过FindControl获取到数据行中某个数据的值(通过获取相应控件的内容)
    Label lb = (Label)lvi.FindControl("IdLabel");

    //调用DAL层代码进行删除操作
    Guid deletingId = Guid.Parse(lb.Text);
    new PositionDAL().Delete(new Position() { Id = deletingId });
}

这个问题的重点已经不在于如何进行删除操作(因为实在找不到办法怎么直接关联能删除。。。),而是在于如何获取到ListView中,我们删除时到底删的哪一行的数据,获取到其主键内容,删除操作倒是简单了。

不知道还有没有更好的方法来解决这个问题。

posted @ 2013-03-16 00:28  不是豆豆  阅读(532)  评论(0编辑  收藏  举报
友情链接:迷途