我有一个包含大量控件的页面,这些控件可以触发对服务器的回发。我知道在一个页面上拥有大量控件并不是一种好的做法,但是我的 ASP.NET Web 应用程序的性质需要它。看到我在这个页面上有大量的控件,我大量使用了UpdatePanels。我将 ViewState 存储在 Session 中,以减少页面的响应大小,效果很好。
但是,使用 Fiddler,我注意到 ajax 响应的 '__VIEWSTATE' 部分之后的 'asyncPostBackControlIDs' 包含每个可以触发回发的 UpdatePanel 的每个控件的列表。这份清单是巨大的!似乎该列表在每页上没有太大变化,因此每次在 UpdatePanel 中发生回发时下载整个列表是没有意义的......
有什么方法可以像使用 ViewState 一样将“asyncPostBackControlIDs”存储在服务器上,或者以其他方式减小“asyncPostBackControlIDs”列表的大小?