Я новичек
1. Что происходит в методе init при загрузке страницы?
2. Зачем ViewState передается клиенту? Что в нем сохраняется? Когда пользователь заполняет контрол эти данные на сервере получаются через ViewState? т.е. ViewState где формируется на клиенте или сервере? как данные попадают во ViewState?
А>1. Что происходит в методе init при загрузке страницы? А>2. Зачем ViewState передается клиенту? Что в нем сохраняется? Когда пользователь заполняет контрол эти данные на сервере получаются через ViewState? т.е. ViewState где формируется на клиенте или сервере? как данные попадают во ViewState?
В основном на твои вопросы ответит MS
ух ты...ваша идея нова и оригинальна. вопрос задан не снобам, а людям которые не поленятся ответить
Re[2]: несколько вопросов по asp.net
От:
Аноним
Дата:
27.01.06 06:30
Оценка:
Данные ответы легко получить, прочитав любую из статей находящихся на этом сервере, которая посвящена ASP.
Не потрудитесь ли ВЫ, и удосужитесь прочитать данные статьи и не называть снобами тех, кому просто лень отвечать на вопросы «а почему каждое утро солнце встает, а зачем оно это делает»
Не слушайте рекомендаций программиста. Никогда. Всё равно не поймете
А>ух ты...ваша идея нова и оригинальна. вопрос задан не снобам, а людям которые не поленятся ответить
Хм... Вы думаете, что люди должны отрываться от работы и писать то, что уже написано, а кто-то поленился просто это прочитать?
По-первому вопросу советую прочитать раздел Page Lifecycle, по-второму — раздел, посвященный работе ViewState...
Здравствуйте, 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 что-то
Здравствуйте, Аноним, Вы писали:
А>Скажите пожалуйста, что за такие состояния у серверных контролов хранит в себе 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(для стандартных контролов конечно), и сами Вы скорее всего не состоянии повлиять на этот процесс(можно только полностью отключить ) Таким образом и значение инициализируется без Вашего участия.
я понимаю, что они рулят, но мне надо понять как именно они это делают ((( и никто сказать толком не может все отправляют на четыре буквы
Здравствуйте, Аноним, Вы писали:
Д>> ASP c рулят заполнением viewstate(для стандартных контролов конечно), и сами Вы скорее всего не состоянии повлиять на этот процесс(можно только полностью отключить ) Таким образом и значение инициализируется без Вашего участия.
А>я понимаю, что они рулят, но мне надо понять как именно они это делают ((( и никто сказать толком не может все отправляют на четыре буквы
ViewState на странице представляет собой hidden-поле... Вот asp.net сами в него пишут и сами читают... Что конкретно непонятно?
Здравствуйте, <Аноним>, Вы писали:
А>Скажите пожалуйста, что за такие состояния у серверных контролов хранит в себе 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 что-то
Правильно, и не должно быть.
Д>ViewState на странице представляет собой hidden-поле... Вот asp.net сами в него пишут и сами читают... Что конкретно непонятно?
вы не внимательно читаете мой топик.
я задал конкретные вопросы:
1. Пользователь в браузере заполняет элемент TextEdit после чего выполняет Post на сервер. На сервере элемент TextEdit в каком событии инициализирует своё свойство Text? в событиии Init?
2. Как заполняется свойтво Text из ViewState или из Request?
А>1. Пользователь в браузере заполняет элемент TextEdit после чего выполняет Post на сервер. На сервере элемент TextEdit в каком событии инициализирует своё свойство Text? в событиии Init?
Инициализируется в LoadViewState...
А>2. Как заполняется свойтво Text из ViewState или из Request?
Сначала из ViewState в LoadViewState, а потом из Form в в LoadPostBackData
За то, что ты здесь хочешь, люди деньги платят, ходят на курсы, покупают книги. А ТЫ хочешь, что бы тебе не только показали где почитать. Но и разжевали и в рот положили.
Следующий вопрос, наверное, будет:
"Люди мне сказали сделать сайт, как это сделать, напишите за меня, где скачать исходники, ну что вам в лом мне помочь".
Так дела не делаются.
Хочешь рубку съесть и на "попу" сесть.
Тебе уже 3 человек написали, где про твою проблему почитать можно. Так тебе мало...
Не слушайте рекомендаций программиста. Никогда. Всё равно не поймете
Д>>ViewState на странице представляет собой hidden-поле... Вот asp.net сами в него пишут и сами читают... Что конкретно непонятно?
А>вы не внимательно читаете мой топик. А>я задал конкретные вопросы:
А>1. Пользователь в браузере заполняет элемент TextEdit после чего выполняет Post на сервер. На сервере элемент TextEdit в каком событии инициализирует своё свойство Text? в событиии Init?
А>2. Как заполняется свойтво Text из ViewState или из Request?
Здравствуйте, Gollum, Вы писали:
А>>2. Как заполняется свойтво Text из ViewState или из Request? G>У инпутов все, что посылается на сервер берется из реквеста
а вот тут не согласен, эта информация хранится во ViewState
Здравствуйте, демиург, Вы писали:
Д>а вот тут не согласен, эта информация хранится во ViewState
Несогласие — ваше право. Однако в данном случае оно почти расходится с истиной. Почти — потому что значение из реквеста перезаписывает значение во вьюстейте.
Здравствуйте, Gollum, Вы писали:
G>Здравствуйте, демиург, Вы писали:
Д>>а вот тут не согласен, эта информация хранится во ViewState G>Несогласие — ваше право. Однако в данном случае оно почти расходится с истиной. Почти — потому что значение из реквеста перезаписывает значение во вьюстейте. G>
Здравствуйте, Gollum, Вы писали:
Д>>Вот с этого места поподробнее... Каким образом postCollection связана с реквестом?
G>Хм. А можно узнать, по-вашему с чем оно связано?
Вот я и пытаюсь выяснить... Вы породили во мне сомнения , а msdn как-то не вдается в подробности. Мне, например, непонятно, как данные попадают в postCollection.
Здравствуйте, демиург, Вы писали:
Д>Вот я и пытаюсь выяснить... Вы породили во мне сомнения , а msdn как-то не вдается в подробности.
Как же не вдается Там есть ссылка — For more information see Processing Postback Data.
Переходим по ссылке и видим
Upon postback, the page framework searches the posted content for values that match the UniqueIDs of server controls that implement IPostBackDataHandler. It then sequentially invokes LoadPostData on each control that implements this interface. The two arguments of LoadPostData are: a key that identifies the control and a collection, NameValueCollection, that contains the posted data. LoadPostData is typically implemented to update the state of a control as a result of the postback.
Д> Мне, например, непонятно, как данные попадают в postCollection.
Где-то в недрах среды ASP.NET. Можно поискать в рефлекторе если охота.
Здравствуйте, Gollum, Вы писали:
G>Здравствуйте, демиург, Вы писали:
Д>>Вот я и пытаюсь выяснить... Вы породили во мне сомнения , а msdn как-то не вдается в подробности. G>Как же не вдается Там есть ссылка — For more information see Processing Postback Data.
G>Переходим по ссылке и видим
G>
G>Upon postback, the page framework searches the posted content for values that match the UniqueIDs of server controls that implement IPostBackDataHandler. It then sequentially invokes LoadPostData on each control that implements this interface. The two arguments of LoadPostData are: a key that identifies the control and a collection, NameValueCollection, that contains the posted data. LoadPostData is typically implemented to update the state of a control as a result of the postback.
Да видел я это... Это разве ж подробности?
Д>> Мне, например, непонятно, как данные попадают в postCollection. G>Где-то в недрах среды ASP.NET. Можно поискать в рефлекторе если охота.
Здравствуйте, Gollum, Вы писали:
G>Здравствуйте, демиург, Вы писали:
Д>>Да вот и ищу...
G>А зачем?
Хороший вопрос! Из чистого любопытства скорее всего. Я признаю, что ошибся, наверно из-за того, что не вдавался в детали, а теперь хочу быть уверенным. Вот..
Д>Хороший вопрос! Из чистого любопытства скорее всего. Я признаю, что ошибся, наверно из-за того, что не вдавался в детали, а теперь хочу быть уверенным. Вот..
Да ладно, не ошибается тот кто ничего не делает. Ну MSDN обычно доверять можно, если только глазами не наблюдается обратных эффектов. Вот например обратный случай:
Пример из MSDN:
public virtual void RegisterStartupScript(string key, string script)
{
this.RegisterScriptBlock(key, script, ref this._registeredClientStartupScripts);
}
private void RegisterScriptBlock(string key, string script, ref IDictionary scriptBlocks)
{
if (scriptBlocks == null)
{
scriptBlocks = new HybridDictionary();
}
if (!scriptBlocks.Contains(key))
{
scriptBlocks.Add(key, script);
}
}
т.е. проверка абсолюно лишняя. Но все используют, т.к. в MSDN так написано.
Д>ЗЫ. Пока поиски ни к чему не привели
Ну просто если была бы какая-то интересная причина, я может бы слазил рефлектором. Но в MSDN вроде все написано как работает, поэтому и неинтересно.
And please don't stick Thy servants, Lord, in a Rotissomat.
Здравствуйте, демиург, Вы писали:
Д>Да вот и ищу...
А че там искать? 10 секунд. Ты Analyser в нем не пробовал использовать?
Page передает в хэндлеры свое поле _requestValueCollection.
запролняется эта _requestValueCollection в методе ProcessRequestMain, обращением к методу GetCollectionBasedOnMethod():
if (this._request.HttpVerb == HttpVerb.POST)
{
if (!dontReturnNull && !this._request.HasForm)
{
return null;
}
returnthis._request.Form;
}
if (!dontReturnNull && !this._request.HasQueryString)
{
return null;
}
returnthis._request.QueryString;
Чего, в общем-то, можно было ожидать.
1.1.4 stable rev. 510
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Здравствуйте, Sinclair, Вы писали:
S>Здравствуйте, демиург, Вы писали:
Д>>Да вот и ищу... S>А че там искать? 10 секунд. Ты Analyser в нем не пробовал использовать?
S>Page передает в хэндлеры свое поле _requestValueCollection. S>запролняется эта _requestValueCollection в методе ProcessRequestMain, обращением к методу GetCollectionBasedOnMethod(): S>
Здравствуйте, Gollum, Вы писали:
G>т.е. проверка абсолюно лишняя. Но все используют, т.к. в MSDN так написано.
Забавно, что я тож на это поймался А вообще, лично мной было обнаружено в .net несколько странностей, особенно, при разработке контролов, так что ничего удивительного
Д>>ЗЫ. Пока поиски ни к чему не привели G>Ну просто если была бы какая-то интересная причина, я может бы слазил рефлектором. Но в MSDN вроде все написано как работает, поэтому и неинтересно.
Меня просто в этом случае заинтересовало чего и как, вот и пришлось полазать. много интересного как обычно наковырял для себя...
Спасибо, за потраченное время