1

使用 UpdatePanel 的 Asp.Net ajax 实现真的很慢,有经验的人知道整个 ViewState 被发送到服务器,即使我们只对部分回发感兴趣。所以我开始使用 Jquery,但我不知道如何从 Jauery 向服务器发出请求并在输出中获取 UserControl 的 HTML?UserControl 反过来可能有一些控件,如文本框等。

简而言之,我想要一些 Asp.Net MVC 具有的功能,它使用RenderPartial.

4

2 回答 2

2

在 的上下文中Page,您可以加载控件并呈现其输出。

Control myControl = Page.LoadControl("myControl.ascx");
myControl.RenderControl(System.Web.UI.HtmlTextWriter);

但这只是获取控件将输出到页面的 html。如果您的控件没有更多事件并且只是在加载时执行某些操作,这很好,但是如果您想从它回发,那么这将不起作用(如评论中所述。)

于 2012-04-12T16:31:51.517 回答
0

根据我的经验,有时,尝试直接调用用户控件很痛苦。

我有时将我的 userControl 放在一个空白页中,然后简单地做一个 $.get( 所以,对于每个 userControl,我必须制作一个专用的空白页......

其他时候,userControl 已经嵌入到已命名 div 容器内的现有页面中。然后我在页面上调用 $.load( ,以容器 div 为目标。在这种情况下,我不必创建页面,但我会浪费带宽并丢失脚本和样式标签(jQuery 从 v1.4 开始清理它们)

于 2012-04-12T16:30:54.157 回答