2014-05-09 2 views
0

В моем коде я хочу обновить записи и позвонить по телефону EncryptPDF. И затем перенаправить на другую страницу позже.Выполнить код перед ответом.redirect

Но я обнаружил, что он не выполнит код до response.redirect.

Согласно Microsoft информация, код будет прерван до ответа.redirect.

Как заставить код выполнять перед перенаправлением на другую страницу?

есть ли какой-либо код, который может служить для перенаправления? Благодаря

If Not rec_old Is Nothing Then 
    For i = 0 To rec_old.Count - 1 

     rec_old.Item(i).CurrentRenumeration = False 
     dc.SubmitChanges() 

     If (rec_old.Item(i).RemFile Is Nothing Or rec_old.Item(i).RemFile = 0) Then 
      EncryptPDF(rec_old.Item(i).RenumID, rec_old.Item(i).SID) 
     End If 

     If i = rec_old.Count - 1 Then 
      LastRecord = True 
     Else 
      LastRecord = False 
     End If 
    Next 
End If 

dc.Dispose() 

Response.Redirect("XXX.aspx?SID=" & Request("SID") & "&SSID=" & GetProfile() & "&returnPath=12") 
+2

Вам нужно избавиться от 'End If' между' Next' и 'Else' - я удивлен, что код работает даже, поскольку я не ожидал, что он будет работать с' Else' после 'End If' , – Tim

+0

привет, просто «скопируйте и вставьте» ошибку. нет другого случая –

ответ

0

Try вызова Response.Redirect с дополнительным атрибутом - Ложный

Response.Redirect("XXX.aspx?SID=" & Request("SID") & "&SSID=" & GetProfile() & "&returnPath=12", False) 

Вот объяснение (отсюда http://forums.asp.net/t/1396869.aspx?Response+Redirect+True+False)

При обработке страницы "A" то вы отправляете переадресацию

Response.Redirect('Default.aspx",True) 

Клиенту будет отправлено перенаправление для новой страницы, а Страница «A» немедленно прекратит обработку, так как произойдет прерывание потока. Это поведение по умолчанию для перенаправления.

Если выдан перенаправлять в

Response.Redirect('Default.aspx",False) 

Тогда клиент будет отправлено перенаправление на новую страницу, но страница «А» будет позволено продолжить обработку. Возможно, на странице «А» есть работа по очистке или что-то в этом роде. Клиент никогда не увидит результаты со страницы «А», поскольку они были перенаправлены.