Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Ошбика при Response.Redirect / 5 сообщений из 5, страница 1 из 1
27.08.2004, 14:30
    #32669000
Axeleron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошбика при Response.Redirect
При выполнении
Код: plaintext
Response.Redirect("default.aspx");
ход программы выводится на исключение с комментарием: "Thread was being aborted".
В чём прикол?

Ниже приведу код:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
				try
				{
					if (sqlCnn.State == ConnectionState.Open)
						sqlCnn.Close();

					sqlCnn.Open();
					SqlDataReader dr = null;

					SqlParameter[] arParams = new SqlParameter[ 1 ];
					arParams[ 0 ] = new SqlParameter("@pk", SqlDbType.VarChar,  11 ); 
					arParams[ 0 ].Value = txtFizIpasniekPersKods.Text;

					dr = SqlHelper.ExecuteReader(sqlCnn, "_pusPA_getKlientsFizInfoByPK", arParams);
					int i =  0 ;
					while (dr.Read())
					{
						i++;
					}
					dr.Close();
					sqlCnn.Close();

					if (i ==  1 )
					{
						if (sqlCnn.State == ConnectionState.Open)
							sqlCnn.Close();

						sqlCnn.Open();
						dr = null;

						arParams = new SqlParameter[ 1 ];
						arParams[ 0 ] = new SqlParameter("@pk", SqlDbType.VarChar,  11 ); 
						arParams[ 0 ].Value = txtFizIpasniekPersKods.Text;

						dr = SqlHelper.ExecuteReader(sqlCnn, "_pusPA_getKlientsFizInfoByPK", arParams);
						while (dr.Read())
						{
							txtFizIpasniekID.Text = dr[ 0 ].ToString();
							txtFizIpasniekVards.Text = dr[ 1 ].ToString();
							txtFizIpasniekUzvards.Text = dr[ 2 ].ToString();
							clsControls.GenerateDdlPilseta(ddlFizIpasniekAdresePilseta, dr[ 3 ].ToString());
							txtFizIpasniekAdreseIela.Text = dr[ 4 ].ToString();
							txtFizIpasniekPastaIndekss.Text = dr[ 5 ].ToString();
							txtFizIpasniekTalrunis.Text = dr[ 6 ].ToString();
							txtFizIpasniekAdreseID.Text = dr[ 7 ].ToString();

							if ((txtFizTuretVards.Text != "") && (txtFizTuretUzvards.Text != "") && (txtFizTuretPersKods.Text != ""))
							{
								txtFizNemVardsUzvards.Text = txtFizTuretVards.Text + " " + txtFizTuretUzvards.Text;
								txtFizNemPersKods.Text = txtFizTuretPersKods.Text;
							}
							else
							{
								txtFizNemVardsUzvards.Text = dr[ 1 ].ToString() + " " + dr[ 2 ].ToString();
								txtFizNemPersKods.Text = txtFizIpasniekPersKods.Text;
							}
						}
						dr.Close();
					}
					else if (i >  1 )
					{
						Response.Redirect("default.aspx");
					}
				}
				catch (Exception exc)
				{
					string a = exc.Message;
				}
				finally 
				{
					RecalcPolApdrPremia();
				}
...
Рейтинг: 0 / 0
27.08.2004, 15:14
    #32669130
profil
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошбика при Response.Redirect
вынеси Response.Redirect("default.aspx"); за блок try-catch

+ как-то не крамотно выполнять одну и туже процедуру два раза. Есть много более грамотных решений.
+ конструкция if (sqlCnn.State == ConnectionState.Open) sqlCnn.Close(); sqlCnn.Open(); тоже не очень корректна. Открывай коннект один раз, а закрывай в блоке finally{if (sqlCnn.State == ConnectionState.Open) sqlCnn.Close();}
...
Рейтинг: 0 / 0
27.08.2004, 15:48
    #32669220
Axeleron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошбика при Response.Redirect
Спасибо, profil, помогло. :)
А на код в целом особо не смотри - это черновой вариант.
...
Рейтинг: 0 / 0
27.08.2004, 15:57
    #32669242
Ошбика при Response.Redirect
Это нормально :)
Redirect calls End which raises a ThreadAbortException exception upon completion.
Читайте документацию...
Можно написать
Response.Redirect("default.aspx", False)
...
Рейтинг: 0 / 0
27.08.2004, 16:02
    #32669263
Axeleron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошбика при Response.Redirect
Ушёл читать документацию за кружкой пива... :))
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Ошбика при Response.Redirect / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]