...我问这个主要是因为当我尝试使用更新面板时,它不起作用。我已经尝试将它放在itemTemplate和editTemplate中(尽管这样做意味着必须调用整个页面),但是当我尝试将它放在LayoutTemplate中时(因为它有意义)放置它)它再次无法工作,updatePanel& listViiew就像这样......
{arrow}asp:UpdatePanel ID="upComments" runat="server" UpdateMode="Conditional" ChildrenAsTriggers="true"{arrow}
{arrow}ContentTemplate{arrow}
{arrow}asp:ListView ID="lvComments" runat="server" DataSourceID="dsComments"{arrow}
有什么想法吗?这现在发生在具有不同列表视图和不同数据源的两个不同的aspx页面上。理想情况下,我希望尽可能地最小化ajax更新区域,最好是itemTemplate级别,但我现在甚至会选择整个listView。谢谢你们。
此外,插入页面时默认情况下会显示insertTemplate,当我插入新项目时,整个页面不会重新加载(就像在其他情况下一样),只是添加了项目。不确定这是一个listView功能还是updatePanel。当我按{edit}它重新加载页面时,当我按更新来更新正在编辑的项目时,它也会重新加载整个页面。任何人吗?
答案 0 :(得分:1)
为什么不尝试UpdateMode =“Always”来查看它是否有效?如果你的插入包含可以回发的控制,那就是更新面板在工作,因为listview不包含任何自动执行的操作。
我会用updatepanel包装整个控件;当一个更新面板刷新其内容时,它们都会这样做,并且因为在itemtemplate级别,它不会为您提供超出全局级别所给出的任何内容。
UpdatePanel并没有真正帮助最小化AJAX足迹,因为它再次回发整个视图状态,所有区域都得到刷新;使用JQuery做AJAX在这方面做得更好,或者使用像Telerik这样的其他产品(除非你将它们链接在一起,否则他们的产品只会更新一个面板)。
HTH。