Добавляет ли метка ASP .NET к весу ViewState, передаваемого при локализации?
Вопрос
В настоящее время я работаю над проектом локализации для приложения ASP .NET. В настоящее время у меня есть огромная страница с несколькими представлениями, около 9 вкладок, каждая из которых содержит большое количество данных. Мне было просто интересно, я поместил много тегов на своей странице ASPX, чтобы я мог легко локализовать свой текст. Мне было интересно, если количество Label имеет большое влияние на размер состояния просмотра? Или производительность страницы.
Я прочитал другой текст ( здесь ), что один жерех: Метка как минимум содержит 52 байта данных. Поэтому, если у меня много элементов управления метками, это будет дополнительная неиспользованная информация, отправляемая туда и обратно. Мне было интересно, зачем вообще нужно 52 байта состояния, если это просто метка. Кроме того, есть ли другой подход к локализации в ASP .NET, кроме встроенной функции Microsoft.
Решение
Свойство <asp:Label>
Text
не будет сохранено в ViewState
, если оно не изменяется между постбэками. SaveViewState()
, который вы видите сгенерированным для элемента управления EnableViewState
, - это данные, которые генерируются ControlState метки при вызове false
элемента управления.
Позвольте мне уточнить - <=> отслеживает изменения на странице. Если текст <=> задается в разметке aspx (или выделенном фрагменте кода) и никогда не изменяется, то размер ViewState не изменится (<=> для элемента управления Label не содержит никаких данных, относящихся к свойство <=>). В этой ситуации я бы настроил <=> на <=>, чтобы данные не помещались в ViewState для метки вообще.
Я бы рекомендовал прочитать TRULY UnderStanding ViewState для получения дополнительной информации.