Weblog @ rebex.cz

Weblogy na webu Rebexu
Welcome to Weblog @ rebex.cz Sign in | Help
in Search

Weblog @ Rebex.cz :: Martin Vobr

weblog o vývoji v dotnetu

Kterak zabránit nechtěnému vkládání duplicitních údajů v ASP.NET

Webové aplikace mají spoustu výhod.... ale i spoustu úskalí. Jedním z nich jsou uživatelé :-) - klikají si jak chtějí a nepočkají na dokončení requestu. Někteří dokonce na tlačítka zásadně klikají dvakrát místo jednou. Obzvláště zavilí uživatelé klikaji v prohlížeči na tlačítko Refresh/Reload  a diví se, že se poslední akce provede znovu.

Potom není divu, že se v databázi objeví dvakrát stejný záznam nebo že se někdo pokusí dvakrát smazat stejný řádek v databázi.

Jak z toho ven? Některé ze způsobů jak tomu zabránit najdete v článku Preventing Duplicate Record Insertion on Page Refresh. Z obsahu vyjímám:

  • Přístupy, které nefungují (laborování s neviditelnými políčky a pokusy o kešování stránky)
  • Funkční přístupy:
    • Mazání hlaviček + Repsonse.Redirect
    • Detekování refreshe
    • Odchytávání na úrovni databáze - různé přístupy
  • Srovnání rychlosti přístupů

Dovolím si ještě přidat odkaz na ConfirmedButtons - tlačítka která se před odesláním zeptají uživatele jestli to myslí vážně. Podle mých zkušeností odchytí značnou část podobných problémů (ale protože využívají javascript a běží client side tak se na ně nedá 100% spolehnout).

 

Published 19. srpna 2005 13:48 by martinv

Comments

No Comments
New Comments to this post are disabled

This Blog

Syndication

News

Chcete koupit ojeté auto a chcete ho nechat prohlédnout někým kdo tomu rozumí a komu můžete věřit? Zkuste mého kamaráda Michala Ráže - Poradce při koupi ojetého vozu

ComponentForge (aka Safabyte) sells components stolen from Rebex and other .NET component vendors.

Uz jste vyzkoušeli naší komponentu pro práci s formátem ZIP s hromadou ukázek v jazycích C# a VB.NET?

Inspirace na výlet: Stubaiské Alpy - jak je zažili Honza a Mišák.

Powered by Community Server (Personal Edition), by Telligent Systems