LinqDataSource.StoreOriginalValuesInViewState Свойство

Определение

Возвращает или задает значение, определяющее необходимость хранения данных из источника данных в состоянии просмотра для гарантии неизменности данных другим процессом перед их обновлением или удалением.Gets or sets a value that indicates whether the data from the data source should be stored in view state to make sure that the data has not been changed by another process before it is updated or deleted.

public:
 property bool StoreOriginalValuesInViewState { bool get(); void set(bool value); };
public bool StoreOriginalValuesInViewState { get; set; }
member this.StoreOriginalValuesInViewState : bool with get, set
Public Property StoreOriginalValuesInViewState As Boolean

Значение свойства

Значение true, если значения сохраняются в состоянии представления; в противном случае — значение false.true if the values will be stored in view state; otherwise, false. Значение по умолчанию — true.The default value is true.

Комментарии

По умолчанию, когда операции обновления и удаления включены, элемент управления LinqDataSource сохраняет исходные значения для всех записей в состоянии представления.By default, when update and delete operations have been enabled, the LinqDataSource control stores the original values for all the records in view state. Элемент управления LinqDataSource сохраняет значения для всех первичных ключей и все свойства, не помеченные UpdateCheck.Never в атрибуте Column.The LinqDataSource control stores values for all primary keys and all properties not marked with UpdateCheck.Never in the Column attribute. Свойство UpdateCheck атрибута Column задается в Реляционный конструктор объектовO/R Designer.You set the UpdateCheck property of the Column attribute in the Реляционный конструктор объектовO/R Designer.

Прежде чем LINQ to SQL обновляет или удаляет данные, он проверяет значения в состоянии представления на соответствие текущим значениям в источнике данных.Before LINQ to SQL updates or deletes data, it checks the values in view state against the current values in the data source. Если значения не совпадают, запись источника данных изменилась.If the values do not match, the data source record has changed. В этом случае LINQ to SQL создает исключение и не продолжает выполнение операции обновления или удаления.In that case, LINQ to SQL throws an exception and does not continue with the update or delete operation. Дополнительные сведения о LINQ to SQL см. в разделе LINQ to SQL.For more information about LINQ to SQL, see LINQ to SQL.

Сохранение исходных значений в состоянии просмотра может привести к тому, что размер страницы станет ненужным большим и может представлять конфиденциальные данные пользователю-злоумышленнику.Storing the original values in view state can cause the page size to become unnecessarily large and can expose sensitive data to a malicious user. Можно отключить сохранение значений в состоянии представления, задав для свойства StoreOriginalValuesInViewState значение false.You can disable storing values in view state by setting the StoreOriginalValuesInViewState property to false. В этом случае необходимо предоставить собственный способ убедиться, что данные не изменялись.If you do this, you must provide your own way to make sure that the data has not changed. Если для свойства StoreOriginalValuesInViewState задано значение false, исходные значения не сохраняются в состоянии представления для элемента управления с привязкой к данным.If you set the StoreOriginalValuesInViewState property to false, the original values are not persisted in view state for the data-bound control. В этом случае LINQ to SQL не может проверить целостность данных.In that case, LINQ to SQL cannot verify the integrity of the data. LINQ to SQL выдаст исключение, указывающее на конфликт данных, даже если данные в источнике данных фактически не изменились.LINQ to SQL will throw an exception that indicates a data conflict even if the data in the data source has not actually changed.

Если базовый источник данных содержит поле метки времени, которое автоматически обновляется во время обновления, можно сохранить только это значение в состоянии представления.If the underlying data source contains a timestamp field that is automatically updated during an update, you can store only that value in view state. В этом случае свойству timestamp в классе сущности присваивается значение IsVersion=true, а всем свойствам присваивается значение UpdateCheck.Never.In that case, the timestamp property in the entity class is set to IsVersion=true and all the properties are set to UpdateCheck.Never. Так как поле метки времени автоматически обновляется базой данных каждый раз, когда данные в этой записи меняются, LINQ to SQL определяет это значение, если данные изменились.Because a timestamp field is automatically updated by the database every time that data in that record changes, LINQ to SQL determines from that value if data has changed. Это позволяет уменьшить размер состояния представления, а конфиденциальные данные не предоставляются.This helps reduce the size of view state, and no sensitive data is exposed. LINQ to SQL будет проверять согласованность данных, сравнивая значение метки времени в состоянии представления со значением метки времени в базе данных.LINQ to SQL will check for data consistency by comparing the timestamp value in view state with the timestamp value in the database. Дополнительные сведения см. в разделе Пошаговое руководство: Использование метки времени с элементом управления LinqDataSource для проверки целостности данных.For more information, see Walkthrough: Using a Timestamp with the LinqDataSource Control to Check Data Integrity.

Применяется к

Дополнительно