Добавляет ли метка ASP .NET к весу ViewState, передаваемого при локализации? - PullRequest
1 голос
/ 12 сентября 2009

В настоящее время я работаю над проектом локализации для приложения ASP .NET. В настоящее время у меня есть огромная страница с несколькими представлениями, около 9 вкладок, каждая из которых содержит большое количество данных. Мне было просто интересно, я поместил много тегов на своей странице ASPX, чтобы я мог легко локализовать свой текст. Мне было интересно, если количество Label имеет большое влияние на размер состояния просмотра? Или производительность страницы.

Я прочел другой текст ( здесь ), что как минимум одна метка asp: содержит 52 байта данных. Поэтому, если у меня много элементов управления метками, это будет дополнительная неиспользованная информация, отправляемая туда и обратно. Мне было интересно, зачем вообще нужно 52 байта состояния, если это просто метка. Кроме того, есть ли другой подход к локализации в ASP .NET, кроме встроенной функции Microsoft.

1 Ответ

2 голосов
/ 12 сентября 2009

Свойство <asp:Label> Text не будет сохранено в ViewState, если не изменяется между постбэками. ViewState, который вы видите для элемента управления <asp:Label>, - это данные, которые генерируются ControlState метки при вызове SaveViewState() для элемента управления.

Позвольте уточнить - ViewState отслеживает изменения на странице. Если текст <asp:Label> задан в разметке aspx (или выделен кодом) и никогда не изменяется, то размер ViewState не изменится (ViewState для элемента управления Label не содержит никаких данных, относящихся к Text свойство). В этой ситуации я был бы склонен установить EnableViewState в false, чтобы никакие данные не помещались во ViewState для метки вообще.

Я бы рекомендовал прочитать TRULY UnderStanding ViewState для получения более подробной информации.

...