Что делать, если вы хотите общение через веб-сайт до Page_Load?

StackOverflow https://stackoverflow.com/questions/1608194

Вопрос

Мне нужно создать некоторые динамические элементы управления в Page_Load в веб-части потребителя. В веб-части «Провайдер» я сделал несколько взломов и получил его, чтобы получить значение элемента управления до загрузки viewstate в Page_Init.

В общем, я хочу, чтобы веб-части могли общаться до Page_Load.

[ConnectionConsumer("FormRID Consumer","FormRIDConsumer")]
public void InitializeProvider(MyControl.IFormRID provider)
{
    theProvider = provider;
    FormRID = theProvider.FormRID;
}

Этот метод вызывается только после Page_Load. Это большая проблема для меня, потому что мой потребитель Page_Load зависит от установленного и точного FormRID. Я не могу переместить свой код Page_Load в Page_LoadComplete, потому что мне нужно создавать динамические элементы управления с viewstate (viewstate не восстанавливается после Page_Load)

Итак, есть ли какая-то работа, которую я могу использовать, чтобы я мог общаться до Page_Load.

Это было полезно?

Решение 3

Мне пришлось создать свое собственное общение через веб-сайт.

Это оказалось намного чище, чем у ASP.Net, и общение может произойти уже в OnInit внутри веб-частей.

Другие советы

Вы пытались подписаться на событие Init зоны веб-частей и разместить там свой InitializeProvider ()? Я считаю, что он запускается до событий OnLoad или OnInit пользовательских элементов управления и веб-форм.

Вы должны использовать событие OnPreRender вместо загрузки, поскольку onLoad происходит до того, как выполняется соединение WebPart.

Вот один пример того, что вы могли бы ожидать, используя события OnLoad и OnPreRender http://blog.mastykarz.nl/web-part-requires-clicking-twice-apply-ok-button-apply-changes/

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top