Sdílet prostřednictvím


LinqDataSource.StoreOriginalValuesInViewState Vlastnost

Definice

Získá nebo nastaví hodnotu, která označuje, zda mají být data ze zdroje dat uložena ve stavu zobrazení, aby se zajistilo, že data nebyla změněna jiným procesem před aktualizací nebo odstraněním.

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

Hodnota vlastnosti

Boolean

truepokud budou hodnoty uloženy ve stavu zobrazení; v opačném případě . false Výchozí hodnota je true.

Poznámky

Pokud jsou ve výchozím nastavení povoleny operace aktualizace a odstranění, LinqDataSource ovládací prvek ukládá původní hodnoty pro všechny záznamy ve stavu zobrazení. Ovládací LinqDataSource prvek ukládá hodnoty pro všechny primární klíče a všechny vlastnosti, které UpdateCheck.Never nejsou v atributu Column označené. Vlastnost atributu Column nastavíte UpdateCheck v Návrháři O/R.

Než LINQ to SQL aktualizuje nebo odstraní data, zkontroluje hodnoty ve stavu zobrazení na základě aktuálních hodnot ve zdroji dat. Pokud se hodnoty neshodují, záznam zdroje dat se změnil. V takovém případě LINQ to SQL vyvolá výjimku a nepokračuje s operací aktualizace nebo odstranění. Další informace o LINQ to SQL najdete v tématu LINQ to SQL.

Uložení původních hodnot ve stavu zobrazení může způsobit, že velikost stránky bude zbytečně velká a může vystavit citlivá data škodlivému uživateli. Ukládání hodnot ve stavu zobrazení můžete zakázat nastavením StoreOriginalValuesInViewState vlastnosti na falsehodnotu . Pokud to uděláte, musíte zadat vlastní způsob, jak zajistit, aby se data nezměnila. Pokud vlastnost nastavíte StoreOriginalValuesInViewState na falsehodnotu , původní hodnoty se neuchovávají ve stavu zobrazení ovládacího prvku vázaného na data. V takovém případě LINQ to SQL nemůže ověřit integritu dat. LINQ to SQL vyvolá výjimku, která označuje konflikt dat, i když se data ve zdroji dat ve skutečnosti nezměnila.

Pokud podkladový zdroj dat obsahuje pole časového razítka, které se automaticky aktualizuje během aktualizace, můžete uložit pouze tuto hodnotu ve stavu zobrazení. V takovém případě je vlastnost časového razítka ve třídě entity nastavena na IsVersion=true a všechny vlastnosti jsou nastaveny na UpdateCheck.Never. Vzhledem k tomu, že pole časového razítka se automaticky aktualizuje databází při každé změně dat v daném záznamu, LINQ to SQL určí z této hodnoty, pokud se data změnila. To pomáhá snížit velikost stavu zobrazení a nejsou vystavena žádná citlivá data. LINQ to SQL zkontroluje konzistenci dat porovnáním hodnoty časového razítka ve stavu zobrazení s hodnotou časového razítka v databázi. Další informace najdete v tématu Návod: Použití časového razítka s ovládacím prvku LinqDataSource ke kontrole integrity dat.

Platí pro

Viz také