通过AJAX加载UserControl,并回发到服务器

时间:2013-04-15 14:14:16

标签: asp.net ajax dynamic user-controls

摘要

是否可以通过AJAX动态下载UserControl的内容,将其插入HTML,将页面回传到服务器以及服务器是否能够处理动态加载的控件?

特别是我正在多次这样做,以创建向页面中的现有表结构“添加行”的功能。

更多详情

我已经编写了ASP.NET代码,使用<asp:ScriptManager>通过AJAX成功下载UserControl的内容,并将新下载的HTML放入当前文档的正确位置。

这很好,因为所有数据保存也都是通过AJAX进行的,因此我很容易构建数据以返回服务器。

问题的一部分是,如果UserControl已作为原始页面的一部分加载,那么其中的控件将被赋予UniqueId ... ...

ctl100$container$repeater$ctl100$myTextBox

但是当通过AJAX路由加载到结构外部时,它会被赋予一个UniqueId ...

ctl100$myTextBox

...结果显然(显然)服务器不知道如何处理它。

所以我要做的是能够动态下载用户控件,并能够将其作为页面的一部分发回。

实现这一目标的标准方法是什么?

1 个答案:

答案 0 :(得分:1)

标准的ASP.NET Web窗体方法使用UpdatePanel控件。有许多功能,如控件状态维护,事件处理,请求验证,要求必须呈现服务器控件并在回发时添加到页面控件的树中。