代码之家  ›  专栏  ›  技术社区  ›  personaelit

能否在更新面板中从异步回发切换到完全回发?

  •  1
  • personaelit  · 技术社区  · 14 年前

    这样的事情可能吗?

    Dim iCounter as Integer
    Dim iQuantity as Integer = 10
    
    Protected Sub btnFoo_Click Handles btnFoo Yadda
    
        For i as Integer = iCounter to iQuantity - 1
            //do something with AsyncPostBackTrigger until iCounter = iQuantity - 1
            //then trigger a full postback
        Next
    
    End Sub
    

    1 回复  |  直到 14 年前
        1
  •  0
  •   personaelit    14 年前

    在不讨论原因的情况下,我最终将计数器存储在会话变量中,并从for循环中退出sub,除非计数器等于数量。

    然后在for循环结束后,我需要更新的所有内容(标签、下拉框)都放在自己的更新面板中,UpdateMode设置为always。

    Dim iCounter as Integer = Session("counter")
    Dim iQuantity as Integer = 10
    
    Protected Sub btnFoo_Click Handles btnFoo Yadda
    
        For i as Integer = iCounter to iQuantity - 1
            //do something with AsyncPostBackTrigger until iCounter = iQuantity - 1
            //then trigger a full postback
    
            If iCounter <> iQuantity Then
                Exit Sub
            End If
            Session("counter") = iCounter + 1
        Next
    
        //Everything else I needed to do with page controls wrapped 
        //in their own update panels
    
    End Sub
    

    也许不是“最佳实践”,但它满足了我的需要。