asp.net -使用AJAX网络控件的简单方法

Translate

我有一个正在尝试优化的Web应用程序。有些控件以对话框样式隐藏DIVs。因此,我只想在用户希望看到它们时才通过AJAX加载它们。这对于大多数基于文字的控件(各种菜单和小部件)来说是很好的选择,但是当我有所谓的“脏”控件时,这些控件会将大量信息写入ViewState,在页面上放置大量CSS或脚本,需要大量引用等-这些似乎“移出页面”似乎是不可能的,尤其是考虑到ASP.NET在回发时的反应。

我正在考虑某种步骤,在该步骤中重写Render,找到要移出的位的标记,然后在其中放置AJAX占位符,但不仅服务器开销看起来非常大,而且感觉像是完全破解。此外,这里的关键元素是对话框,其中包含带有验证控件的表单,我无法想象如何移动控件他们所需的脚本。

在我疯狂的想象中,我想这样做:

AJAXifier.AJAXify(ctlEditForm);

可悲的是,我知道这是一个梦想。

在没有给服务器带来太多负载的情况下,我真正能实现多近的快速AJAX化?

This question and all comments follow the "Attribution Required."

所有的回答

Translate

看看RadAjaxTelerik中的控件-通过声明调用控件之间的直接关系,以及在调用控件提交回发时应“ Ajaxified”的控件之间的直接关系,可以避免使用UpdatePanels并限制服务器与客户端之间来回传递的信息量。

来源
Translate

我建议您这个周末去当地的书店,喝杯咖啡,然后在Manning Press的《 Action in jQuery》中查找。继续阅读这本300页的书的第一章,然后在商店中引起读者的共鸣。

我想让您惊讶的是,jQuery使您轻松执行此处的描述。从ajax后台调用服务器到根据访问者的操作显示和隐藏div标签。您必须编写的代码量非常少。

有很多不错的JavaScript库,这只是我喜欢的其中一个,而且确实很容易上手。首先使用标签将对当前jQuery文件的引用包括在内,然后编写几行代码与您的页面进行交互。

来源
Translate

第一步是使您的“肮脏”片段成为独立的用户控件

第二步是将这些控件嵌入到您的消费页面上

第三步是将每个用户控件标签包装在自己的Asp:UpdatePanel中

第四步是确保控件从需要读取的属性中读取所需的数据,这些属性会根据视图状态检查是否存在预先存在的值。我知道这会使您的代码依赖于丑陋的全局变量,但这是完成此任务的快速方法。

你的旅费可能会改变。

来源