несколько вопросов по asp.net
От: Аноним  
Дата: 27.01.06 05:53
Оценка:
Я новичек
1. Что происходит в методе init при загрузке страницы?
2. Зачем ViewState передается клиенту? Что в нем сохраняется? Когда пользователь заполняет контрол эти данные на сервере получаются через ViewState? т.е. ViewState где формируется на клиенте или сервере? как данные попадают во ViewState?
Re: несколько вопросов по asp.net
От: Nikolay_Ch Россия  
Дата: 27.01.06 06:07
Оценка:
А>1. Что происходит в методе init при загрузке страницы?
А>2. Зачем ViewState передается клиенту? Что в нем сохраняется? Когда пользователь заполняет контрол эти данные на сервере получаются через ViewState? т.е. ViewState где формируется на клиенте или сервере? как данные попадают во ViewState?
В основном на твои вопросы ответит MS
Re[2]: несколько вопросов по asp.net
От: Аноним  
Дата: 27.01.06 06:24
Оценка:
N_C>В основном на твои вопросы ответит MS

ух ты...ваша идея нова и оригинальна. вопрос задан не снобам, а людям которые не поленятся ответить
Re[2]: несколько вопросов по asp.net
От: Аноним  
Дата: 27.01.06 06:30
Оценка:
Данные ответы легко получить, прочитав любую из статей находящихся на этом сервере, которая посвящена ASP.
Не потрудитесь ли ВЫ, и удосужитесь прочитать данные статьи и не называть снобами тех, кому просто лень отвечать на вопросы «а почему каждое утро солнце встает, а зачем оно это делает»
Не слушайте рекомендаций программиста. Никогда. Всё равно не поймете


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Re[3]: несколько вопросов по asp.net
От: Nikolay_Ch Россия  
Дата: 27.01.06 06:33
Оценка:
А>ух ты...ваша идея нова и оригинальна. вопрос задан не снобам, а людям которые не поленятся ответить
Хм... Вы думаете, что люди должны отрываться от работы и писать то, что уже написано, а кто-то поленился просто это прочитать?
По-первому вопросу советую прочитать раздел Page Lifecycle, по-второму — раздел, посвященный работе ViewState...
Re[3]: несколько вопросов по asp.net
От: egaron http://127.0.0.1
Дата: 27.01.06 06:38
Оценка:
Здравствуйте, C...R...a...S...H, Вы писали:

CRA>Данные ответы легко получить, прочитав любую из статей находящихся на этом сервере, которая посвящена ASP.

CRA>Не потрудитесь ли ВЫ, и удосужитесь прочитать данные статьи и не называть снобами тех, кому просто лень отвечать на вопросы «а почему каждое утро солнце встает, а зачем оно это делает»

CRA>
данное сообщение получено с www.gotdotnet.ru

CRA>ссылка на оригинальное сообщение



Неправы вы. Сколько проблем из-за того, что порой некому доступно объяснить ЗАЧЕМ СОЛНЦЕ ВСТАЕТ И ПОЧЕМУ ОНО ЭТО ДЕЛАЕТ. Или если вы направите человека для этого в обсерваторию или посоветуете ему прочитать профессиональную астрономическую литературу, он навряд ли че поймет.
Re: несколько вопросов по asp.net
От: Аноним  
Дата: 27.01.06 08:49
Оценка:
Скажите пожалуйста, что за такие состояния у серверных контролов хранит в себе ViewState...не нашёл я нужного ответа на этом форуме, а чтоб понять зачем нужен ViewState ответьте на след вопросы:
1. Пользователь в браузере заполняет элемент TextEdit после чего выполняет Post на сервер. На сервере элемент TextEdit в каком событии инициализирует своё свойство Text? в событиии Init?
2. Как заполняется свойтво Text из ViewState или из Request?

Если из Request, то нафиг нужен ViewState?? Если из ViewState, то как значение туда попало? на клиенте записалось в скрытое поле?? но ведь нет ни одной js функции, которая бы записывала во viewstate что-то
Re[2]: несколько вопросов по asp.net
От: демиург Россия  
Дата: 27.01.06 09:02
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Скажите пожалуйста, что за такие состояния у серверных контролов хранит в себе ViewState...не нашёл я нужного ответа на этом форуме, а чтоб понять зачем нужен ViewState ответьте на след вопросы:

А>1. Пользователь в браузере заполняет элемент TextEdit после чего выполняет Post на сервер. На сервере элемент TextEdit в каком событии инициализирует своё свойство Text? в событиии Init?
А>2. Как заполняется свойтво Text из ViewState или из Request?

А>Если из Request, то нафиг нужен ViewState?? Если из ViewState, то как значение туда попало? на клиенте записалось в скрытое поле?? но ведь нет ни одной js функции, которая бы записывала во viewstate что-то



ASP c рулят заполнением viewstate(для стандартных контролов конечно), и сами Вы скорее всего не состоянии повлиять на этот процесс(можно только полностью отключить ) Таким образом и значение инициализируется без Вашего участия.
Re[3]: несколько вопросов по asp.net
От: Аноним  
Дата: 27.01.06 09:04
Оценка:
Д> ASP c рулят заполнением viewstate(для стандартных контролов конечно), и сами Вы скорее всего не состоянии повлиять на этот процесс(можно только полностью отключить ) Таким образом и значение инициализируется без Вашего участия.

я понимаю, что они рулят, но мне надо понять как именно они это делают ((( и никто сказать толком не может все отправляют на четыре буквы
Re[4]: несколько вопросов по asp.net
От: демиург Россия  
Дата: 27.01.06 09:13
Оценка:
Здравствуйте, Аноним, Вы писали:

Д>> ASP c рулят заполнением viewstate(для стандартных контролов конечно), и сами Вы скорее всего не состоянии повлиять на этот процесс(можно только полностью отключить ) Таким образом и значение инициализируется без Вашего участия.


А>я понимаю, что они рулят, но мне надо понять как именно они это делают ((( и никто сказать толком не может все отправляют на четыре буквы


ViewState на странице представляет собой hidden-поле... Вот asp.net сами в него пишут и сами читают... Что конкретно непонятно?
Re[2]: несколько вопросов по asp.net
От: Gollum Россия  
Дата: 27.01.06 09:15
Оценка: 2 (1)
Здравствуйте, <Аноним>, Вы писали:

А>Скажите пожалуйста, что за такие состояния у серверных контролов хранит в себе ViewState...не нашёл я нужного ответа на этом форуме, а чтоб понять зачем нужен ViewState ответьте на след вопросы:


А>1. Пользователь в браузере заполняет элемент TextEdit после чего выполняет Post на сервер. На сервере элемент TextEdit в каком событии инициализирует своё свойство Text? в событиии Init?

TextBox реализует интерфейс IPostBackDataHandler. В методе GetPostData он загружает свой текст из данных запроса.

А>2. Как заполняется свойтво Text из ViewState или из Request?

У инпутов все, что посылается на сервер берется из реквеста

А>Если из Request, то нафиг нужен ViewState??

Для вещей, которые на сервер не постятся

А> Если из ViewState, то как значение туда попало?

Записалось на сервере. Пример: при первом обращении к странице mypage.aspx контролу Label был назначен красный цвет букв и текст "Ура, товарищи!". После чего страница отрендерилась в html (в том числе сформировался вьюстейт в который записался цвет шрифта у Label и текст у Label), ушла на клиента и прекратила свое существование. Клиент в браузере нажал на кнопку "Хочу отослать данные на сервер". Происходит постбэк, заново создается страница и контролы на ней. Как сервер узнает, что лабел красный и там написано "Ура, товарищи!"? Правильно, он читает вьюстейт и в соответствии с ним выставляет параметры у лэйбла.

А>на клиенте записалось в скрытое поле??

Нет.

А> но ведь нет ни одной js функции, которая бы записывала во viewstate что-то

Правильно, и не должно быть.
Ph'nglui mglw'nafh Cthulhu R'lyeh wagn'nagl fhtagn
Eugene Agafonov on the .NET

Re[5]: несколько вопросов по asp.net
От: Аноним  
Дата: 27.01.06 09:16
Оценка:
Д>ViewState на странице представляет собой hidden-поле... Вот asp.net сами в него пишут и сами читают... Что конкретно непонятно?

вы не внимательно читаете мой топик.
я задал конкретные вопросы:

1. Пользователь в браузере заполняет элемент TextEdit после чего выполняет Post на сервер. На сервере элемент TextEdit в каком событии инициализирует своё свойство Text? в событиии Init?

2. Как заполняется свойтво Text из ViewState или из Request?
Re[6]: несколько вопросов по asp.net
От: Nikolay_Ch Россия  
Дата: 27.01.06 09:18
Оценка:
А>1. Пользователь в браузере заполняет элемент TextEdit после чего выполняет Post на сервер. На сервере элемент TextEdit в каком событии инициализирует своё свойство Text? в событиии Init?
Инициализируется в LoadViewState...

А>2. Как заполняется свойтво Text из ViewState или из Request?

Сначала из ViewState в LoadViewState, а потом из Form в в LoadPostBackData
Re[3]: несколько вопросов по asp.net
От: Аноним  
Дата: 27.01.06 09:18
Оценка: +1
За то, что ты здесь хочешь, люди деньги платят, ходят на курсы, покупают книги. А ТЫ хочешь, что бы тебе не только показали где почитать. Но и разжевали и в рот положили.
Следующий вопрос, наверное, будет:
"Люди мне сказали сделать сайт, как это сделать, напишите за меня, где скачать исходники, ну что вам в лом мне помочь".
Так дела не делаются.
Хочешь рубку съесть и на "попу" сесть.
Тебе уже 3 человек написали, где про твою проблему почитать можно. Так тебе мало...
Не слушайте рекомендаций программиста. Никогда. Всё равно не поймете


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Re[6]: несколько вопросов по asp.net
От: демиург Россия  
Дата: 27.01.06 09:22
Оценка: -1
Здравствуйте, Аноним, Вы писали:


Д>>ViewState на странице представляет собой hidden-поле... Вот asp.net сами в него пишут и сами читают... Что конкретно непонятно?


А>вы не внимательно читаете мой топик.

А>я задал конкретные вопросы:

А>1. Пользователь в браузере заполняет элемент TextEdit после чего выполняет Post на сервер. На сервере элемент TextEdit в каком событии инициализирует своё свойство Text? в событиии Init?


А>2. Как заполняется свойтво Text из ViewState или из Request?


ок. отвечаю подробнее...

1. Заполнение происходит при рендере страницы.

2. из ViewState.

проще будет сначала прочесть http://msdn2.microsoft.com/en-us/library/ms178197.aspx, и уж если совсем непонятно, тогда будем думать вместе
Re[3]: несколько вопросов по asp.net
От: демиург Россия  
Дата: 27.01.06 09:30
Оценка:
Здравствуйте, Gollum, Вы писали:

А>>2. Как заполняется свойтво Text из ViewState или из Request?

G>У инпутов все, что посылается на сервер берется из реквеста

а вот тут не согласен, эта информация хранится во ViewState
Re[4]: несколько вопросов по asp.net
От: Gollum Россия  
Дата: 27.01.06 09:33
Оценка: 1 (1)
Здравствуйте, демиург, Вы писали:

Д>а вот тут не согласен, эта информация хранится во ViewState

Несогласие — ваше право. Однако в данном случае оно почти расходится с истиной. Почти — потому что значение из реквеста перезаписывает значение во вьюстейте.
bool IPostBackDataHandler.LoadPostData(string postDataKey, NameValueCollection postCollection)
{
      string text1 = this.Text;
      string text2 = postCollection[postDataKey];
      if (!text1.Equals(text2))
      {
            this.Text = text2;
            return true;
      }
      return false;
}
 
[Bindable(true), WebCategory("Appearance"), DefaultValue(""), WebSysDescription("TextBox_Text"), PersistenceMode(PersistenceMode.EncodedInnerDefaultProperty)]
public virtual string Text
{
      get
      {
            string text1 = (string) this.ViewState["Text"];
            if (text1 != null)
            {
                  return text1;
            }
            return string.Empty;
      }
      set
      {
            this.ViewState["Text"] = value;
      }
}
Кто людям помогает, тот тратит время зря. Хорошими делами прославиться нельзя!
Eugene Agafonov on the .NET

Re[5]: несколько вопросов по asp.net
От: демиург Россия  
Дата: 27.01.06 09:41
Оценка:
Здравствуйте, Gollum, Вы писали:

G>Здравствуйте, демиург, Вы писали:


Д>>а вот тут не согласен, эта информация хранится во ViewState

G>Несогласие — ваше право. Однако в данном случае оно почти расходится с истиной. Почти — потому что значение из реквеста перезаписывает значение во вьюстейте.
G>
G>bool IPostBackDataHandler.LoadPostData(string postDataKey, NameValueCollection postCollection)
G>{
G>      string text1 = this.Text;
G>      string text2 = postCollection[postDataKey];
G>      if (!text1.Equals(text2))
G>      {
G>            this.Text = text2;
G>            return true;
G>      }
G>      return false;
G>}
 
G>[Bindable(true), WebCategory("Appearance"), DefaultValue(""), WebSysDescription("TextBox_Text"), PersistenceMode(PersistenceMode.EncodedInnerDefaultProperty)]
G>public virtual string Text
G>{
G>      get
G>      {
G>            string text1 = (string) this.ViewState["Text"];
G>            if (text1 != null)
G>            {
G>                  return text1;
G>            }
G>            return string.Empty;
G>      }
G>      set
G>      {
G>            this.ViewState["Text"] = value;
G>      }
G>}
G>


ок. Рефлектор рулит. Тока очень интересно, где тут реквест пользуется и где переписывается ViewState?
Re[6]: несколько вопросов по asp.net
От: Gollum Россия  
Дата: 27.01.06 09:47
Оценка:
Здравствуйте, демиург, Вы писали:

Д>ок. Рефлектор рулит. Тока очень интересно, где тут реквест пользуется

// см. MSDN про этот интерфейс
bool IPostBackDataHandler.LoadPostData(string postDataKey, NameValueCollection postCollection)


Д>и где переписывается ViewState?

if (!text1.Equals(text2))
{
    this.Text = text2; // Text - это свойство из предыдущего листинга
    return true;
}
Декадентство — это лежать на пляже у Великого Блинского болота и смотреть телевизор. В смокингах.
Eugene Agafonov on the .NET

Re[7]: несколько вопросов по asp.net
От: демиург Россия  
Дата: 27.01.06 09:54
Оценка:
Здравствуйте, Gollum, Вы писали:

G>Здравствуйте, демиург, Вы писали:


Д>>ок. Рефлектор рулит. Тока очень интересно, где тут реквест пользуется

G>
G>// см. MSDN про этот интерфейс
G>bool IPostBackDataHandler.LoadPostData(string postDataKey, NameValueCollection postCollection)
G>


Вот с этого места поподробнее... Каким образом postCollection связана с реквестом?

Д>>и где переписывается ViewState?

G>
G>if (!text1.Equals(text2))
G>{
G>    this.Text = text2; // Text - это свойство из предыдущего листинга
G>    return true;
G>}
G>


Ну это уж я разошелся звиняйте
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.