Значения текста метки сохраняются в состоянии просмотра, если вы не повернули вручную состояние представления для метки или родительского элемента управления . Вам не нужно повторно назначать текст метки, если включено состояние просмотра.
Если вы не хотите, чтобы представление состояния использовалось, но вы динамически присваиваете значение из ресурса, вам нужно будет каждый раз вручную устанавливать свойство текста метки. Страница, отправляемая обратно, не знает значений меток, которые изменяются во время выполнения, если только они не поддерживаются в состоянии просмотра.
ViewState, созданный для элемента управления, тяжел, поскольку он также хранит другие атрибуты элемента управления меткой. Если ничего, кроме значения, не меняется, вы можете подумать о том, чтобы просто сохранить значение в объекте ViewState и отключить viewstate для элементов управления надписью и выполнить разводку вручную при каждой обратной передаче.
// Store it
ViewState["YourLabel"] = "Text you want to store in the label.";
// On postback make sure you are assigning it
YourLabel.Text = Convert.ToString(ViewState["YourLabel"]);
Я не думаю, что вы найдете автоматический способ сделать это. Вы можете написать вспомогательную функцию, которая будет делать это автоматически каждый раз, когда происходит обратная передача, перебирая элементы в ViewState и предполагая, что вы назвали ключ так же, как ваши элементы управления, выполните поиск любых элементов управления меткой с именем ключа и назначить текст автоматически на основе значения, сохраненного для этого ключа. На самом деле я никогда не пробовал этого, но это, вероятно, работало бы за счет небольшой скорости.