У меня есть UserControl под названием TenantList.ascx, который содержит слегка измененный GridView из DevExpress (Web.ASPxGridView). Этот элемент управления делает обратные вызовы, не вызывая обратную передачу, которая именно то, что мне нужно.
Конкретное событие, на которое мне нужно отреагировать, - CustomButtonClicked. Я сделал свое событие OnCustomButtonClicked для usercontrol TenantList.ascx, которое срабатывает при возникновении события GridView CustomButtonClicked.
У меня есть обработчик событий на странице, где я использую UC. Когда я отлаживаю с использованием VS, я вижу, что попадаю в обработчик событий, как и положено.
Мой Eventhandler выглядит так:
protected void uc_TenantList_CustomButtonCallback(object sender, ASPxGridViewCustomButtonCallbackEventArgs e)
{
Tenant tenant = (Tenant)uc_TenantList.GetGridView().GetRow(e.VisibleIndex);
switch (e.ButtonID)
{
case "btn_show":
ShowRow(tenant);
break;
case "btn_edit":
EditRow(tenant);
break;
case "btn_delete":
DeleteRow(tenant.Id);
break;
default:
break;
}
}
private void EditRow(Tenant tenant)
{
uc_TenantDetails.SetTenantData(cBLL.GetTenant(tenant.Id));
UpdatePanel1.Update();
}
Функция EditRow вызывается, а пользовательский элемент управления TenantDetails.ascx корректно заполняется данными. Однако UpdatePanel1.Update (); не обновляет панель, где находится мой TenantDetails UserControl.
Однако, если я вызываю UpdatePanel1.Update (); из обычного элемента управления, зарегистрированного в ScriptManager, он просто обновляется.
protected void Button1_Click(object sender, EventArgs e)
{
uc_TenantDetails.SetTenantData(cBLL.GetTenant(17));
UpdatePanel1.Update();
}
Это работает без проблем ... Я застрял на 100% и понятия не имею, в чем может быть проблема.
Любые предложения приветствуются !!
Приветствие
Настоящий Напстер - В настоящей беде:)