Как я включаю ViewState для дочерних пользовательских элементов управления при отключении в родителе?

Поместите строку Print в цикл следующим образом: -

for(int i = 1; i<=value-1; i++)
{
    table[i] = num*i;
    System.out.println(table[i])
}

Значение '[I @ 3d494fbf', которое печатает ваша программа, - это путь памяти массива 'table'.

6
задан Jason Bunting 6 October 2008 в 17:24
поделиться

2 ответа

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

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

Свойство EnableViewState на любом контейнере переопределит поведение всех средств управления в этом containter.

Удачи!

Править: Можно хотеть посмотреть CreateChildContols () метод и перечислить средства управления, запрещающие состояние отображения оттуда для каждых из средств управления в пользовательском элементе управления с помощью свойства EnableViewState.

7
ответ дан 17 December 2019 в 00:16
поделиться

Если Вы - счастливые данные помещения в ViewState вручную (вместо того, чтобы позволить ASP.NET сохранить уровень Вашего контроля для Вас), Вы могли поместить объекты непосредственно в ViewState страницы, а не ViewState Вашего управления.

Т.е. вместо высказывания:

this.ViewState["someKey"] = someValue;

скажите:

this.Page.ViewState["someKey"] = someValue;

Будьте осторожны, хотя - если у Вас есть больше чем один экземпляр Вашего управления на странице, необходимо будет удостовериться, что они используют различные ключи!

0
ответ дан 17 December 2019 в 00:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: