Oddělení prezentační od datové vrstvy   otázka

ASP.NET WebForms, Architektura, Databáze

Zdravím, chci se zeptat jak nejsnadnějí oddělit datovou vrstvu od prezentační. Nechci abych měl v kodu stránky přímo SQL dotazy (SelectCommand, InsertCommand .... )

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Já to řeším tak že ať se jedná o web nebo form aplikace tak všude používám volání procedur uložených na SQL serveru. Nikde nepoužívám přímé dotazy. Jednak z důvodu bezpečnosti a taky všechny dotazy můžu spravovat z jednoho místa.

Nejsem si ale jistý zda jste se ptal zrovna na tohle:)

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Můžete použít ASP.NET MVC Framework, což je alternativa k ASP.NET WebForms (klasické ASP.NET) a kde se na tento požadavek myslí. Želbohu přináší to zase jiné problémy.

Nebo si v klasickém ASP.NET můžete do komponent GridView nabindovat přímo kolekce objektů:

GridView1.DataSource = kolekce
GridView1.DataBind()

Komponenta GridView si poradí s jakoukoliv kolekcí objektů, místo názvů sloupců se pak odvoláváte na property jednotlivých objektů.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Velmi snadno pomocí dalších assembly.

Vytvoříte si projekt knihovny, která se bude starat o komunikaci s databází a tu pak do projektu webu přidáte. Takže z webu budete pouze volat metody datových objektů z přidané knihovny a může vám být úplně jedno, jestli se data uloží na SQL Server nebo kamkoliv jinam.

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback