Получить значение динамического управления после Page_Load в C #? - PullRequest
1 голос
/ 22 октября 2009

У меня есть две веб-части, которые общаются. Поставщик не может дать значение (RID) потребителю, по крайней мере, до события Page_Load поставщика. Таким образом, потребитель не может знать RID, в котором он нуждается, до окончания Page_Load. Итак, я подключился к Page_LoadComplete. Теперь есть проблема. Потребитель создает динамические элементы управления на основе этого RID.

Теперь. Эти динамически созданные элементы управления создаются после Page_Load. Таким образом, их представление не восстанавливается (хотя динамические элементы управления, созданные внутри Page_Load, восстанавливают свои значения).

Итак, в общем, мне нужен способ восстановления состояния view для элемента управления вручную или для получения значения элемента управления из переменной POST или эквивалента в C # ..

Кроме того, если бы я мог получить значение элемента управления в Page_Init, это тоже сработало бы.

Ответы [ 2 ]

2 голосов
/ 22 октября 2009

Вся информация, возвращаемая из сообщения в парах ключ / значение Request.Form. Если вы проверите там и ищите контрольный идентификатор в ключах, вы можете получить значение, не просматривая состояние просмотра.

Возможно, вам придется просмотреть каждый ключ и найти, какой ключ содержит имя элемента управления, поскольку ключом будет идентификатор клиента, а не указанный вами идентификатор.

0 голосов
/ 22 октября 2009

Если элементы управления являются динамическими, они не будут в ViewState, пока не произойдет обратная передача. Поэтому ViewState не может использоваться при начальной загрузке, если вы не добавите их в ViewState самостоятельно.

ViewState.Add("myRID", RID)

Или вы можете сохранить его в SessionState и не перегружать ViewState, поскольку ViewState в любом случае имеет тенденцию становиться слишком большим. Я бы пошел с SessionState.

...