繁体   English   中英

使用 AJAX WebControls 的简便方法

[英]Easy way to AJAX WebControls

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

我正在考虑某种步骤,我覆盖 Render,找到我想要移出的位的标记并将 AJAX 占位符放在那里,但不仅服务器开销看起来很极端,而且感觉就像一个完整的黑客。 此外,这里的关键因素是,其中包含了他们验证控件形式的对话框,我无法想象我会怎样移动控件及其所需的脚本。

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

AJAXifier.AJAXify(ctlEditForm);

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

在不给服务器造成过多负载的情况下,我能真正实现快速简便的 AJAX 化有多接近?

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

我建议你这个周末去当地的书店,喝杯咖啡,找到 Manning Press 的 jQuery in Action。 继续在商店中阅读这本 300 页书的第一章,如果它与您产生共鸣,然后购买。

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

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

第一步是使您的“脏”件自包含用户控件

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

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

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

你的旅费可能会改变。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM