简单的方法来AJAX WebControls

seaque 发布于 2018-02-09 ajax 最后更新 2018-02-09 01:07 950 浏览

我有一个我试图优化的Web应用程序。有些控件隐藏在对话框样式的DIV中,所以我希望只有当用户想看到它们时,才能通过AJAX加载它们。对于大多数基于文本的控件(各种菜单和小部件)来说,这是很好的,但是当我拥有我所谓的“脏”控件时,那些向ViewState写入大量信息的控件,在页面上放置大量CSS或脚本,要求大量的引用等 - 这些似乎是不可能“失控”,尤其是考虑ASP.NET将如何反应回发。 我正在考虑某种步骤,我重写Render,找到我想要移出的位的标记,并将AJAX占位符放在那里,但不仅服务器开销看起来极端,它也感觉像一个完整的黑客。此外,这里的关键元素是包含带有验证控件的表单的对话框,我无法想象如何移动控件所需的脚本。 在我狂热的想象中,我想这样做:

AJAXifier.AJAXify(ctlEditForm);
可悲的是,我知道这是一个梦想。我能真正接近一个快速简单的AJAX化,而不会在服务器上造成太多的负载?
已邀请:

det

赞同来自:

第一步是让你的“脏”的东西自成体系的用户控制 第二步是将这些控件嵌入到你的消费页面上 第三步是将每个用户控件标签包装在他们自己的Asp:UpdatePanel中 第四步是确保您的控件通过从属性中读取所需的数据,该属性检查预先存在的值的视图状态。我知道这使得你的代码依赖丑陋的全局变量,但这是完成这个任务的快速方法。 你的旅费可能会改变。

icum

赞同来自:

查看Telerik的RadAjax控制 - 它允许你避免使用UpdatePanels,并通过声明调用控件之间的直接关系以及在调用控件时应该“Ajax化”的控件来限制在服务器和客户端之间来回传递的信息量提交回传。

hculpa

赞同来自:

我建议你在这个周末走到你的本地书店,喝一杯咖啡,在Manning出版社找到jQuery in Action。继续阅读这本300页的书的第一章,然后购买它,如果它与你共鸣。 我想你会感到惊讶jQuery容易让你执行你在这里描述的东西。从ajax调用到后台的服务器,根据访问者的行为显示和隐藏div标签。你必须写的代码量非常小。 有一堆好的JavaScript库,这只是我喜欢的其中之一,而且开始真的很容易。首先用一个标签包含对当前jQuery文件的引用,然后写几行代码与页面进行交互。