我有一个asp.net页面,其中包含一些基本标签等,以及一个包含UserControl动态列表的updatepanel。每个控件都有自己的UpdatePanel和基本控件。我已经为这些控件共同设置了折叠/扩展功能,并且迄今为止工作正常。
为了提高网页效率,我一直致力于“Async-ify'加载期间发生的大量数据处理,以显示在这些字段和用户控件中。
在所有这些变化之后,一切都运行良好(包括大幅提升性能),除了一件事 - 崩溃/扩展不再有效。折叠模式下可查看的有限数据'已经更新了。
恢复为数据的非异步调用,一切正常,但再次变慢。
就像他们经常被迫回到原始默认状态(折叠),在每个回发上,由崩溃/展开按钮触发。但是从这个角度来看,没有任何改变我实际上只是将数据调用更改为等待异步而不是非异步,因为我夸大其词,除了这个问题之外的一切都很好。
我可以发布任何代码,但不确定相关内容。我所做的唯一改变如下:
Protected Async Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Update()
End Sub
Private Async Function Update() As Task
Dim AController As New CIP_WS.ARFController
ARF = AController.GetARFWithResults(Client.ClientID, PRN, Nothing, StartTime, EndTime, CIP_WS.LabResultController.InequalityModes.AsIs)
PrintBasic()
PrintSPC()
PrintPhotos()
PrintResults()
PrintHistoricEdits()
End Function
以上工作正常 - 非异步
Protected Async Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
RegisterAsyncTask(New PageAsyncTask(Function() Update()))
End Sub
Private Async Function Update() As Task
Dim AController As New CIP_WS.ARFController
Dim ARFTask As Task(Of CIP_WS.ARF) = AController.GetARFWithResultsAsync(Client.ClientID, PRN, Nothing, StartTime, EndTime, CIP_WS.LabResultController.InequalityModes.AsIs)
ARF = Await ARFTask
PrintBasic()
PrintSPC()
PrintPhotos()
PrintResults()
PrintHistoricEdits()
End Function
以上,一切正常,但usercontrol不会保持更新的折叠/展开状态。
任何最感谢的帮助
编辑_____
按要求展开/折叠方法:
Partial Class wucLabResultPack
Inherits System.Web.UI.UserControl
Private _Expanded As Boolean
Public Property Expanded() As Boolean
Get
Return _Expanded
End Get
Set(ByVal value As Boolean)
_Expanded = value
ViewState("Expanded") = _Expanded
UpdateExpandPanel()
End Set
End Property
Protected Sub imgExpand_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles imgExpand.Click
ToggleExpanded()
End Sub
Private Sub ToggleExpanded()
Expanded = Not Expanded
End Sub
Private Sub UpdateExpandPanel()
If Expanded Then
pnlDetail.Visible = True
imgExpand.ImageUrl = "Images/Shrink.png"
Else
pnlDetail.Visible = False
imgExpand.ImageUrl = "Images/Expand.png"
End If
End Sub
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If IsPostBack Then
Expanded = CInt(ViewState("Expanded"))
End If
End Sub