伙计们,我有一个简单的动态对象列表,每个对象都会订阅一个事件来触发以使您单击。
该事件的作用是从基础中删除该对象,然后再次渲染对象,其中事件应再次重新订阅。
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();
}
问题是一旦触发事件第一次回发并重新加载列表。但是,如果我想在另一个项目中再次拍摄该事件,我单击两次即可工作!
可以解决这个问题吗?知道了?
我希望我能帮上忙!问候!