Какие свойства (если есть) элементы управления, такие как GridView и TextBox, сохраняют в своем состоянии элемента управления? - PullRequest
1 голос
/ 06 января 2010


1) Какие свойства (если таковые имеются) элементы управления, такие как GridView и TextBox, сохраняют в состоянии элемента управления? Кстати, я предполагаю, что эти элементы управления имеют состояние управления по умолчанию?!


2) Элементу управления необходимо вызвать Page.RegisterRequiresControlState (во время события Init), чтобы указать, что его состояние элемента управления необходимо сохранить.

Предполагая, что элементу управления A (A имеет тип WebControl2) необходимо сохранить его состояние элемента управления и что A содержится внутри элемента управления B (B имеет тип WebControl1) -> Я смог зарегистрировать состояние элемента управления A, переопределив метод OnInit B :

protected override void OnInit(EventArgs e)
{
    Control control= this.FindControl("A");

    Page.RegisterRequiresControlState(control);
    base.OnInit(e);
}


Это считается плохой практикой программирования?


1022 * спасибо *

1 Ответ

1 голос
/ 06 января 2010

Если вы ищете множество определений элементов управления, проверьте .NET рефлектор, бесплатный инструмент, который позволяет вам проверить это. Я знаю, что для GridView он имеет editindex, pageindex, selectedindex, sortexpression, sortdirection, datakeynames, pagecount в состоянии управления. Я не думаю, что TextBox использует состояние управления.

Храните только основные свойства в состоянии управления. Я не знаю, какую пользу получит подключение к состоянию другого элемента управления, потому что фактические значения, которые загружаются и сохраняются в состоянии элемента управления, должны выполняться в защищенных методах LoadControlState и SaveControLState. Значения не сохраняются автоматически в состоянии управления, если они включены.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...