LinqDataSource.StoreOriginalValuesInViewState Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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
true
pokud 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 false
hodnotu . Pokud to uděláte, musíte zadat vlastní způsob, jak zajistit, aby se data nezměnila. Pokud vlastnost nastavíte StoreOriginalValuesInViewState na false
hodnotu , 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.