2

概括

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

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

更多详情

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

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

部分问题在于,如果 UserControl 已作为原始页面的一部分加载,则其中的控件将被赋予 UniqueId,类似于...

ctl100$container$repeater$ctl100$myTextBox

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

ctl100$myTextBox

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

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

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

4

1 回答 1

1

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

于 2013-04-15T15:05:23.283 回答