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

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

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

AJAXifier.AJAXify(ctlEditForm);

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

如何在不造成服务器过多负载的情况下真正接近快速简便的AJAX化?

===============>>#1 票数:5 已采纳

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

===============>>#2 票数:2

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

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

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

===============>>#3 票数:1

第一步是让你的“脏”件自包含用户控件

第二步是在消费页面上嵌入这些控件

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

第四步是通过从属性中读取属性来确保您的控制获取所需的数据,这些属性针对预先存在的值检查视图状态。 我知道这会让你的代码依赖于丑陋的全局变量,但这是完成这项工作的快捷方法。

你的旅费可能会改变。

  ask by tags2k translate from so

未解决问题?本站智能推荐: