powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Почему сбрасывается переменная ???
9 сообщений из 9, страница 1 из 1
Почему сбрасывается переменная ???
    #33902375
Фотография OreL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
    Protected Sub LinksTreeView_SelectedNodeChanged(ByVal sender As Object, ByVal e As System.EventArgs)
        If LinksTreeView.SelectedNode.Depth =  4  Then
            par_2 = LinksTreeView.SelectedNode.Value.ToString
            Response.Redirect("~/Default4.aspx?par_1=" & par_1 & "&par_2=" & par_2)
        End If
        If LinksTreeView.SelectedNode.Depth =  3  Then
            par_1 = LinksTreeView.SelectedNode.Value.ToString
           
        End If
        
    End Sub

Обращение к процедуре происходит два раза.
При первом обращении работает второй IF и запоменается первая переменная par_1.
При втором обращении первый IF и переменная par_2 и сразу же идёт redirect
с передачей этих двух переменных !!!
Но почему-то par_1 при втором обращении сбрасывается !!!
Почему ???

Спасибо.
...
Рейтинг: 0 / 0
Почему сбрасывается переменная ???
    #33902422
C...R...a...S...H
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Используйте viewstate, а лучше учите матчасть.----------------------------------------
Knowledge is P...O...w...E...R!
My site
...
Рейтинг: 0 / 0
Почему сбрасывается переменная ???
    #33902461
Tutrix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, OreL, Вы писали:

OL>Здравствуйте.
OL> Protected Sub LinksTreeView_SelectedNodeChanged(ByVal sender As Object, ByVal e As System.EventArgs)
OL> If LinksTreeView.SelectedNode.Depth = 4 Then
OL> par_2 = LinksTreeView.SelectedNode.Value.ToString
OL> Response.Redirect("~/Default4.aspx?par_1=" & par_1 & "&par_2=" & par_2)
OL> End If
OL> If LinksTreeView.SelectedNode.Depth = 3 Then
OL> par_1 = LinksTreeView.SelectedNode.Value.ToString

OL> End If

OL> End Sub
OL>Обращение к процедуре происходит два раза.
Эти обращения происходят при одном запросе к серверу или при разных?
OL>При первом обращении работает второй IF и запоменается первая переменная par_1.
OL>При втором обращении первый IF и переменная par_2 и сразу же идёт redirect
OL>с передачей этих двух переменных !!!
OL>Но почему-то par_1 при втором обращении сбрасывается !!!
OL>Почему ???

OL>Спасибо.

OL>
данное сообщение получено с www.gotdotnet.ru
OL>ссылка на оригинальное сообщение
...
Рейтинг: 0 / 0
Почему сбрасывается переменная ???
    #33902462
Фотография OreL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
C...R...a...S...HИспользуйте viewstate, а лучше учите матчасть.----------------------------------------
Knowledge is P...O...w...E...R!
My site

Что такое матчасть ???
...
Рейтинг: 0 / 0
Почему сбрасывается переменная ???
    #33902481
Фотография OreL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TutrixЗдравствуйте, OreL, Вы писали:

OL>Здравствуйте.
OL> Protected Sub LinksTreeView_SelectedNodeChanged(ByVal sender As Object, ByVal e As System.EventArgs)
OL> If LinksTreeView.SelectedNode.Depth = 4 Then
OL> par_2 = LinksTreeView.SelectedNode.Value.ToString
OL> Response.Redirect("~/Default4.aspx?par_1=" & par_1 & "&par_2=" & par_2)
OL> End If
OL> If LinksTreeView.SelectedNode.Depth = 3 Then
OL> par_1 = LinksTreeView.SelectedNode.Value.ToString

OL> End If

OL> End Sub
OL>Обращение к процедуре происходит два раза.
Эти обращения происходят при одном запросе к серверу или при разных?
OL>При первом обращении работает второй IF и запоменается первая переменная par_1.
OL>При втором обращении первый IF и переменная par_2 и сразу же идёт redirect
OL>с передачей этих двух переменных !!!
OL>Но почему-то par_1 при втором обращении сбрасывается !!!
OL>Почему ???

OL>Спасибо.

OL>
данное сообщение получено с www.gotdotnet.ru
OL>ссылка на оригинальное сообщение

При разных !
При чём я забыл написать вот это:
Код: plaintext
1.
Public par_1 As String
Public par_2 As String
Cкорее всего здесь собака и зарыта !!!
Хотел clipboard использовать, но VB.NET в ASP.NET его не поддерживает !!
Что сделать ума не приложу ! :-(
...
Рейтинг: 0 / 0
Почему сбрасывается переменная ???
    #33902541
Tutrix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
OL>При разных !
OL>При чём я забыл написать вот это:
OL>Public par_1 As String
OL>Public par_2 As StringCкорее всего здесь собака и зарыта !!!
OL>Хотел clipboard использовать, но VB.NET в ASP.NET его не поддерживает !!
OL>Что сделать ума не приложу ! :-(

В asp.net объект страницы создается каждый раз заново при каждом
обращение к серверу.В твоем случае надо использовать
ViewState

OL>
данное сообщение получено с www.gotdotnet.ru
OL>ссылка на оригинальное сообщение
...
Рейтинг: 0 / 0
Почему сбрасывается переменная ???
    #33902551
gerss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Судя по всему, между вызовами происходит Postback, то есть отправка данных на сервер. Простые переменные при Postback теряют свои значения (состояние не хранится, если его специально не сохранять).

Поэтому Вам дали верный совет - хранить во ViewState:

Код: 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.
private string par_1
{
  get
  {
    object val = ViewState["Par1"];
    return (val == null ? string.Empty : (string)val);
  }
  set
  {
    ViewState["Par1"] = value;
  }
}

private string par_2
{
  get
  {
    object val = ViewState["Par2"];
    return (val == null ? string.Empty : (string)val);
  }
  set
  {
    ViewState["Par2"] = value;
  }
}

Сергей

PS: А "матчасть" - это самые основы, то, что прежде всего нужно знать, чтобы не задавать таких простейших вопросов. Местные гуру их очень не любят, причем оправданно.

------------------
Умом Россию не понять...
С умом она несовместима.
...
Рейтинг: 0 / 0
Почему сбрасывается переменная ???
    #33902579
Фотография OreL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо всем за ответы.
Буду юзать ViewState !!!
...
Рейтинг: 0 / 0
Почему сбрасывается переменная ???
    #33902675
Фотография OreL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Результат:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
 Protected Sub LinksTreeView_SelectedNodeChanged(ByVal sender As Object, ByVal e As System.EventArgs)
        If LinksTreeView.SelectedNode.Depth =  4  Then
            par_2 = LinksTreeView.SelectedNode.Value.ToString
            Response.Redirect("~/Default4.aspx?par_1=" & ViewState.Item("par_1").ToString & "&par_2=" & par_2)
            Exit Sub
        End If
        If LinksTreeView.SelectedNode.Depth =  3  Then
            ViewState.Add("par_1", LinksTreeView.SelectedNode.Value.ToString)
        End If
    End Sub
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Почему сбрасывается переменная ???
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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