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
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 uloží ovládací prvek 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 relací objektů.
Než LINQ to SQL aktualizuje nebo odstraní data, zkontroluje hodnoty ve stavu zobrazení vůči aktuálním hodnotám 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 naleznete 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 uživateli se zlými úmysly. 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 nastavíte StoreOriginalValuesInViewState vlastnost na false, původní hodnoty nejsou zachovány ve stavu zobrazení pro ovládací prvek vázané na data. V takovém případě nemůže LINQ to SQL ověřit integritu dat. LINQ to SQL vyvolá výjimku, která značí 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 během aktualizace automaticky aktualizuje, 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. Protože pole časového razítka je automaticky aktualizováno databází při každé změně dat v daném záznamu, LINQ to SQL určuje 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 naleznete v tématu Návod: Použití časového razítka s ovládacím prvku LinqDataSource ke kontrole integrity dat.