我正在处理一个长而动态的表单(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。不幸的是,这个项目不是一个选项。
提前致谢并快乐编码。
答案 0 :(得分:1)
我想重新考虑一下你的页面设计。您网页上的许多项目都无法带来良好的用户体验。而不是编写一个非常远的解决方案,重新考虑您的设计,它最终也可能使您的用户受益。
修改: 您的问题是许多人认为使用WebForms的主要缺点的核心。几乎无法控制服务器如何呈现控件并发出HTML。如果没有你想要避免的更“先进”的方法,除了将形式分解成更小的部分之外,我很难提出任何建议。如果是数据输入表单,则用户输入日期字段可能会更快,而不是通过鼠标单击填充表单。
答案 1 :(得分:0)
按照@Achilles的回答,我会将表格拆分成多页。您也可以尝试使用多个标签页面。
<强>更新强> 其他可能对你有帮助的是ToolkitScriptManager。它将所有外部工具包脚本组合到一个外部脚本中。我认为它还将所有内联工具包脚本组合到一个块中。