LinqDataSource.StoreOriginalValuesInViewState 속성

정의

데이터를 업데이트 또는 삭제하기 전에 다른 프로세스에서 변경하지 않았음을 확인하기 위해 데이터 소스의 데이터를 뷰 상태에 저장해야 하는지 여부를 나타내는 값을 가져오거나 설정합니다.

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

속성 값

Boolean

값이 뷰 상태에 저장되면 true이고, 그렇지 않으면 false입니다. 기본값은 true입니다.

설명

기본적으로 업데이트 및 삭제 작업을 사용하도록 설정 LinqDataSource 하면 컨트롤은 뷰 상태의 모든 레코드에 대한 원래 값을 저장합니다. 컨트롤은 LinqDataSource 모든 기본 키 및 특성에 표시되지 UpdateCheck.Never 않은 모든 속성에 Column 대한 값을 저장합니다. O/R 디자이너에서 특성의 Column 속성을 설정합니다UpdateCheck.

LINQ to SQL 데이터를 업데이트하거나 삭제하기 전에 뷰 상태의 값을 데이터 원본의 현재 값에 대해 확인합니다. 값이 일치하지 않으면 데이터 원본 레코드가 변경되었습니다. 이 경우 LINQ to SQL 예외를 throw하고 업데이트 또는 삭제 작업을 계속하지 않습니다. LINQ to SQL 대한 자세한 내용은 LINQ to SQL 참조하세요.

보기 상태에 원래 값을 저장하면 페이지 크기가 불필요하게 커질 수 있으며 악의적인 사용자에게 중요한 데이터를 노출할 수 있습니다. 속성을 false.로 설정하여 뷰 상태에 값을 저장하지 않도록 설정할 StoreOriginalValuesInViewState 수 있습니다. 이렇게 하는 경우 데이터가 변경되지 않도록 고유한 방법을 제공해야 합니다. 속성을 false설정 StoreOriginalValuesInViewState 하면 원래 값이 데이터 바인딩된 컨트롤에 대한 뷰 상태로 유지되지 않습니다. 이 경우 LINQ to SQL 데이터의 무결성을 확인할 수 없습니다. LINQ to SQL 데이터 원본의 데이터가 실제로 변경되지 않은 경우에도 데이터 충돌을 나타내는 예외를 throw합니다.

기본 데이터 원본에 업데이트 중에 자동으로 업데이트되는 타임스탬프 필드가 포함된 경우 해당 값만 뷰 상태에 저장할 수 있습니다. 이 경우 엔터티 클래스의 타임스탬프 속성이 설정 IsVersion=true 되고 모든 속성이 .로 UpdateCheck.Never설정됩니다. 타임스탬프 필드는 해당 레코드의 데이터가 변경될 때마다 데이터베이스에서 자동으로 업데이트되므로 LINQ to SQL 데이터가 변경된 경우 해당 값에서 결정합니다. 이렇게 하면 보기 상태의 크기를 줄이고 중요한 데이터가 노출되지 않습니다. LINQ to SQL 뷰 상태의 타임스탬프 값을 데이터베이스의 타임스탬프 값과 비교하여 데이터 일관성을 확인합니다. 자세한 내용은 연습: LinqDataSource 컨트롤과 함께 타임스탬프를 사용하여 데이터 무결성을 확인합니다.

적용 대상

추가 정보