记录一个之前遇到的问题。使用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中,我们删除时到底删的哪一行的数据,获取到其主键内容,删除操作倒是简单了。

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

相关文章:

  • 2022-02-23
  • 2022-12-23
  • 2021-12-04
  • 2022-12-23
  • 2022-12-23
  • 2022-02-22
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-11-15
  • 2022-01-03
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-01-11
相关资源
相似解决方案