我有一个带有网格视图的转发器。 gridview需要是可编辑的,为了获得更流畅的体验,我将gridview包含在更新面板中。基于此,页面上有n个更新面板。一切都工作得很好,但我问,因为我害怕可能出现的问题,如回发大小。这是最好的方法吗?我有没有看到任何陷阱?
答案 0 :(得分:3)
您有合格的问题。
首先要知道UpdatePanel
是否将整个页面发布到服务器,甚至包括整个ViewState内容。你无能为力,只要确保你承认这一点。因此,如果您的页面非常大并且您注意到应用程序的工作方式存在显着滞后,您可能需要考虑不同的方法,可能需要手动异步调用,或者类似的方法。
紧随其后的第二件事 - 每当UpdatePanel
进行回发,服务器执行整页生命周期,然后只在页面上更新UpdatePanel
内的一部分。同样,你不能或不应该这样做,这就是UpdatePanel
的工作原理。人们有时会在调试时对这个事实感到惊讶,所以值得一提。
第三件事是针对您的情况,因为您在页面上有多个UpdatePanels
。默认情况下,如果其中一个进行回发,则所有其他面板也会进行回发,因此它们都会更新。也许这是一种理想的行为,也许不是。如果没有,您可以将每个UpdateMode
的{{1}}属性设置为UpdatePanel
,并且只会更新Conditional
内部触发更新。有关here的更多信息。
有关GridView
的更多其他详细信息,请参阅this article。