0

我正在处理一个长的、动态的表单(大约 100 个字段),并且正在为每个字段使用诸如 CalendarBehaviors、HovermenuBehavior 等工具包项目。

我从来没有一次使用过这么多的工具包项目,并且在渲染中看到了巨大的性能损失。<SCRIPT></SCRIPT>工具包控件的每个实例都在其自己的标签中发送到客户端。换句话说,他有 200 个实例如下:

<SCRIPT type="text/javascript"> 
Sys.Application.add_init(function() {    $create(AjaxControlToolkit.HoverMenuBehavior, {"OffsetX":20,"PopDelay":50,"dynamicServicePath":"/default.aspx","id":"hmePopupHelpPolicyNumber","popupElement":$get("lblHelpPolicyNumber")}, null, null, $get("imgHelpPolicyNumber"));});
</SCRIPT>
<SCRIPT type="text/javascript"> 
...snip
</SCRIPT>

有什么方法可以控制它并在单个脚本块中创建所有控件?

另外,有没有人知道一篇好的、详细的文章来描述 IE 7 如何解析和呈现 html 和 javascript?

而且我知道你们中的大多数人会推荐 JQuery。不幸的是,这不是这个项目的一个选项。

在此先感谢并祝您编码愉快。

4

2 回答 2

1

我会说重新考虑您的页面设计。您页面上的这么多项目无法提供良好的用户体验。与其编写一个非常遥远的解决方案,不如重新考虑您的设计,它最终可能也会使您的用户受益。

编辑:您的问题是许多人认为使用 WebForms 的主要缺点的核心。服务器如何呈现控件并发出它们的 HTML 几乎没有控制。如果没有您试图避免的更“高级”的方法,除了将表格分成更小的部分之外,我很难提出任何建议。如果它是一个数据输入表单,用户输入日期字段可能比通过鼠标单击填充表单更快。

于 2009-11-17T17:00:01.533 回答
0

按照@Achilles 的回答,我会将表格分成多个页面。您也可以尝试使用多个选项卡的一页。

更新: 其他可能对您有所帮助的是ToolkitScriptManager。它将所有外部工具包脚本组合成一个外部脚本。我认为它还将所有内联工具包脚本组合到一个块中。

于 2009-11-17T17:02:13.327 回答