Можете ли вы переключиться с Async PostBack на Full PostBack на панели обновлений? - PullRequest
1 голос
/ 20 августа 2010

Возможно ли что-то подобное?

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 Ответ

0 голосов
/ 21 августа 2010

Не вдаваясь в причину, я в конечном итоге сделал счетчик в переменной сеанса и вышел из подпрограммы из цикла for, если только счетчик не был равен количеству.

Затем все, что после окончания цикла for, которое мне нужно было обновить (Labels, DropDownBoxes), я вставил в их собственные панели обновления с UpdateMode, установленным в всегда.

Чтобы изменить мой псевдокод выше:

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

Возможно, не «лучшая практика», но она сработала для того, что мне было нужно.

...