1

伙计们,我有一个简单的动态对象列表,每个对象都会订阅一个事件来触发以使您单击。

该事件的作用是从基础中删除该对象,然后再次渲染对象,其中事件应再次重新订阅。

private void BindTable()
    {
        PersonsManager manager = new PersonsManager();
        pnlPersons.Controls.Clear();

        foreach (var person in Persons)
        {
            PersonControl personControl = (PersonControl)Page.LoadControl("~/Widgets/PersonControl.ascx");
            personControl.Person = person;
            personControl.BeginSelect += new SelectPersonEventHandler(personControl_BeginSelect);

            pnlPersons.Controls.Add(personControl);
        }

    }

protected void personControl_BeginSelect(object sender, SelectPersonEventArgs e)
    {
        PersonsManager manager = new PersonsManager();
        manager.DeletePerson(e.Person.Id);
        Persons.Remove(e.Person);

        BindTable();
    }

问题是一旦触发事件第一次回发并重新加载列表。但是,如果我想在另一个项目中再次拍摄该事件,我单击两次即可工作!

可以解决这个问题吗?知道了?

我希望我能帮上忙!问候!

4

0 回答 0