ASP.NET StateBag и пользовательские элементы управления

Без java.io.* это можно сделать так.

String trace = e.toString() + "\n";                     

for (StackTraceElement e1 : e.getStackTrace()) {
    trace += "\t at " + e1.toString() + "\n";
}   

И тогда переменная trace содержит вашу трассировку стека. Выходные данные также содержат начальную причину, выходные данные идентичны printStackTrace()

Пример, printStackTrace() приводит к:

java.io.FileNotFoundException: / (Is a directory)
    at java.io.FileOutputStream.open0(Native Method)
    at java.io.FileOutputStream.open(FileOutputStream.java:270)
    at java.io.FileOutputStream.<init>(FileOutputStream.java:213)
    at java.io.FileOutputStream.<init>(FileOutputStream.java:101)
    at Test.main(Test.java:9)

Строка trace сохраняется, когда печатается в stdout

java.io.FileNotFoundException: / (Is a directory)
     at java.io.FileOutputStream.open0(Native Method)
     at java.io.FileOutputStream.open(FileOutputStream.java:270)
     at java.io.FileOutputStream.<init>(FileOutputStream.java:213)
     at java.io.FileOutputStream.<init>(FileOutputStream.java:101)
     at Test.main(Test.java:9)
5
задан Keith K 7 February 2013 в 17:14
поделиться

1 ответ

Чтобы вызвать TrackViewState в настраиваемом StateBag, вы должны привести его к его интерфейсу.

StateBag mybag = new StateBag();
(mybag as IStateManager).TrackViewState();

Я предполагаю, что это дизайнерское решение было принято, чтобы скрыть реализацию ViewState от потребителей. На странице документации для IStateManager есть некоторая информация о реализации пользовательского отслеживания состояния.

3
ответ дан 15 December 2019 в 06:32
поделиться
Другие вопросы по тегам:

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