首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >通过AJAX从另一个用户控件更新用户控件

通过AJAX从另一个用户控件更新用户控件
EN

Stack Overflow用户
提问于 2010-07-11 03:03:21
回答 3查看 3.4K关注 0票数 1

也许我在胡思乱想,因为这看起来应该很简单,但是如何通过Ajax从另一个用户控件更新用户控件?

我有一个带有两个用户控件的ASPX页面,当我在其中一个控件上触发服务器端事件时,我想刷新另一个控件上的网格,这样它就会更新它的数据。

如果有帮助的话,我正在使用Telerik控件。第一个用户控件上的Checkbox事件导致第二个用户控件中的RadGrid重新绑定(),并且我在ASPX页面中有RadAjaxManager,在两个用户控件中有RadAjaxManagerProxy。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-09-23 19:47:25

首先,对我来说,Page.DataBind()不适合我。

我在UserControl中声明

代码语言:javascript
复制
// 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代码中

代码语言:javascript
复制
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();
}
票数 2
EN

Stack Overflow用户

发布于 2010-07-12 17:23:31

异步回调将更新导致回发的控件及其更新面板的所有父控件。如果在事件发生后,您的datagrid没有在浏览器中更新,则会提示未调用其update方法。

尝试在checkbox事件中调用datagrids updatepanel的.update方法

票数 1
EN

Stack Overflow用户

发布于 2010-07-14 22:41:07

您可以尝试使用的ajaxRequest或AjaxManager的ajax客户端方法来发起ajax调用。有关这些方法的更多信息,请参阅Telerik的在线文档:http://www.telerik.com/help/aspnet-ajax/ajxclientsideapi.html

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3220465

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档