2010-07-10 5 views
1

Возможно, у меня мозговой пердит или что-то еще, потому что кажется, что это должно быть довольно просто, но как вы обновляете элемент управления пользователя из другого пользовательского элемента управления через Ajax?Обновление пользовательского элемента управления из другого пользовательского элемента управления через AJAX

У меня есть страница ASPX с двумя пользовательскими элементами управления, и когда я запускаю событие на стороне сервера на одном, я хочу обновить сетку на другом, чтобы он обновил данные.

Я использую элементы управления Telerik, если это помогает. Событие флажка в первом пользовательском элементе управления приводит к тому, что RadGrid во втором User Control для Rebind(), и у меня есть RadAjaxManager на странице ASPX и RadAjaxManagerProxy в двух User Controls.

ответ

2

Первый для меня Page.DataBind() не работает для меня.

я объявил в UserControl

// Declare a delegate 
public delegate void save_CommandEventHandler(); 

//Event 
save_CommandEventHandler SaveViewChanged public event; 

// I run SaveViewChanged() from a click_button but it can run from anywhere 
protected void save_Click (object sender, EventArgs e) 
{ 
    UpdateDataInDatabase(); 

    SaveViewChanged(); 
} 

В page.aspx.cs код

protected override void OnInit (EventArgs e) 
{ 
    base.OnInit (e); 

    // UserControle1 is the Id of your UserControl declared in Aspx Page 
    UserControle1.SaveViewChanged + = 
     New UserControle.save_CommandEventHandler 
     (Save_CommandEventHandler); 
} 

private void save_CommandEventHandler() { 
    // Reload the gridView gvExpence to see the change operated in the user control 
    gvExpence.DataSource =DataAcces.getAllCompanyExpence(); 
    gvExpence.DataBind(); 

    // update user control 2 
    usercontrol2.updateView(); 
} 
1

Асинхронный обратный вызов обновит элемент управления, который вызвал обратную передачу, а также любые родительские элементы управления его панели обновления. Если DataGrid не обновляется в браузере после события он хотел бы предложить его метод обновления не вызывается

Попробуйте называть .update метод из DataGrids UpdatePanel в случае CheckBox

+0

Вы знаете, где я могу увидеть пример реализации этого? – EdenMachine

1

Вы можете попробовать с помощью ajaxRequest или ajaxRequestWithTarget клиентские методы AjaxManager для инициирования вызова ajax. Более подробную информацию об этих методах можно найти в онлайн-документации Telerik: http://www.telerik.com/help/aspnet-ajax/ajxclientsideapi.html

Смежные вопросы