response.redirect ???
3 отговора
159 прегледа
response.redirect ???
Imam problem s response.redirect. Tova mi e koda
Try
...
Response.Redirect("Page1.aspx")
Catch ex As Exception
Response.Redirect("Error.aspx?Err=" & ex.Message)
EndTry
Znachi koda minava prez parvia response.redirect, posle zaspiva za moment, i sled tova vliza v catch blocka i generira greshka - Thread was aborted. Obache kato mahna response.redirect-a v catch-a i vsichko si minava extra i niama greshka.
Zashto stava taka? Nishto ne razbiram!!!
Try
...
Response.Redirect("Page1.aspx")
Catch ex As Exception
Response.Redirect("Error.aspx?Err=" & ex.Message)
EndTry
Znachi koda minava prez parvia response.redirect, posle zaspiva za moment, i sled tova vliza v catch blocka i generira greshka - Thread was aborted. Obache kato mahna response.redirect-a v catch-a i vsichko si minava extra i niama greshka.
Zashto stava taka? Nishto ne razbiram!!!
Re: response.redirect ???
Redirect не хвърля ли изключение?
Недей си хваща грешките по тоя начин, ами си напиши типовете изключения, които знаеш как да обработиш точно на това място в кода. Останалите пусни да изплуват нагоре.
--
Екстремно програмиране на български.
[линк]
Недей си хваща грешките по тоя начин, ами си напиши типовете изключения, които знаеш как да обработиш точно на това място в кода. Останалите пусни да изплуват нагоре.
--
Екстремно програмиране на български.
[линк]
Re: response.redirect ???
не е нужно чак толкова да го разбираш ... просто трябва да знаеш как работи цялата работа
... аз затова съм доста скептичен към секви vb/asp "програмисти" защото те научават 5-те обекта в asp за 2 дена и решават че вече знаят всичко ... обаче едно е да знаеш как да викаш 10 метода на кръст, а съвсем друго е да знаеш как работят тези методи и какво точно става under the hood 
аре стия с конското .. ама си трия повече четене ... нали знаеш 1 час четене спестява 1 ден писане на код

Та, на въпроса, Response.Redirect по имплементация хвърля ThreadAbortException ако твоя Redirect НЕ Е накрая на изпълнимия код ( тоест има още код за изпълняване след него ). Винаги след Response.Redirect трябва да излезеш веднага с return .
Примерно нещо такова:
Try
. . . url = "Page1.aspx"
. . . ...
Catch ex As Exception
. . . Session("err") = ex.Message
. . . url = "Error.aspx"
Finally
. . . \\ clean up
End Try
Response.Redirect(url)
Това бих направил аз примерно. Ако не искаш така, просто слагай по един return след Redirect. Освен това Response.Redirect приема и втори параметър който като го сложиш на False забранява на Response.Redirect да извиква Response.End и да хвърля exception ...

XM TurboCT .. where comfort meets power
аре стия с конското .. ама си трия повече четене ... нали знаеш 1 час четене спестява 1 ден писане на код
Та, на въпроса, Response.Redirect по имплементация хвърля ThreadAbortException ако твоя Redirect НЕ Е накрая на изпълнимия код ( тоест има още код за изпълняване след него ). Винаги след Response.Redirect трябва да излезеш веднага с return .
Примерно нещо такова:
Try
. . . url = "Page1.aspx"
. . . ...
Catch ex As Exception
. . . Session("err") = ex.Message
. . . url = "Error.aspx"
Finally
. . . \\ clean up
End Try
Response.Redirect(url)
Това бих направил аз примерно. Ако не искаш така, просто слагай по един return след Redirect. Освен това Response.Redirect приема и втори параметър който като го сложиш на False забранява на Response.Redirect да извиква Response.End и да хвърля exception ...
XM TurboCT .. where comfort meets power
Re: response.redirect ???
Tuka si prav. Ama az sam na obratnia princip: 2-3 dena glavobluskane spestiava 1 den chetene. S return stana. Mersi mnogo. Az pisha postove samo po chujdi forumi shtoto tuka v dir-a vsichki samo izbivat komplexi i se obijdat, ama iavno ima i svesni.