Diskuze: ASP.net MVC SQL 2x model 1x view 1x Controller

C# .NET .NET (C# a Visual Basic) ASP.net MVC SQL 2x model 1x view 1x Controller American English version English version

Aktivity (1)
Avatar
Michal Znamenáček:13. září 15:35

Ahoj kolegové,
mám dotaz, potřeboval bych vytáhnout z databáze ze dvou tabulek data. Dát je do dvou listů a ty poté vrátit do jednoho view.
Teď mám momentálně jeden view řízený conrollerem a na každou tabulku samozřejmě svůj vlastní model. Nevěděl by někdo jak na to?

Odpovědět 13. září 15:35
Kdo se umí smát sám sobě, má právo smát se všemu ostatnímu, co mu k smíchu připadá - Jan Werich
Avatar
Marian Benčat
Redaktor
Avatar
Marian Benčat:13. září 15:59

Enkapsulace?

Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
Nahoru Odpovědět  +1 13. září 15:59
"C# 3.0 (2007) volal Java 8 (2014), že chce svoje featury zpět"
Avatar
Odpovídá na Michal Znamenáček
Michal Štěpánek:13. září 19:51

Zkus to trošku rozvést, takhle jsem z toho srnec, daněk, jelen...
Souvisí spolu ty dvě tabulky? Mají něco společného? Podle čeho ta data budeš vybírat? Proč do dvou listů a pak do jednoho View? atd...

Nahoru Odpovědět 13. září 19:51
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Bogdan
Redaktor
Avatar
Odpovídá na Michal Štěpánek
Bogdan:14. září 0:20

ja jsem to pochopil tak, ze vytahne napr. id z jedne tabulky a podle toho id hleda v druhe tabulce.
Bezna praktika v PHP kdyz se dela bez relace.

 
Nahoru Odpovědět 14. září 0:20
Avatar
zelvicek
Člen
Avatar
zelvicek:14. září 6:52

Myslím, že Marian Benčat už našel řešení.

class MyGreatViewModel
{
        public IList<TabItem1> List1 {get;set;}
        public IList<TabItem2> List2 {get;set;}
}
 
Nahoru Odpovědět  +1 14. září 6:52
Avatar
Michal Znamenáček:14. září 9:46

Pánové díky moc za všechno už je vyřešeno :-)
Abych to jinak více rozvedl :-) tabulky spolu vůbec nesouvisí a pouze jsem potřeboval nahnat data ze dvou tabulek do jednoho vzhledu :-) vyřešeno přes třetí model. Díky moc :-)

Nahoru Odpovědět 14. září 9:46
Kdo se umí smát sám sobě, má právo smát se všemu ostatnímu, co mu k smíchu připadá - Jan Werich
Avatar
Marian Benčat
Redaktor
Avatar
Odpovídá na Michal Znamenáček
Marian Benčat:14. září 10:09

Pokud spolu ty tabulky vubec nesouvisi, bylo by mnohem lepsi, tam vyrenderovat výsledky Child akce..
Tedy neco jako

@Html.Action("Ta­ble1")

@Html.Action("Ta­ble2")

a k tomu 2 akce oanotovane jako [ChildActionOnly] . Budes pak moci vnimat ten grid, jako samostatnou komponentu a budes ji moci reusnout i u jinych akci..

Ma to ale jednu nevyhodu.. Budes tam pak muset mít nějaké handlení transakce, co je vázané PerRequest, jinak by se ti mohlo stát, že tam budeš mít nekonzistentní data...

Vzhledem ale k tomu, že se ChildAkce pouzivaji nejcasteji k AJaxové výměně určité části stránky, tak to uživatel stejně vnímá tak, že ta tabulka je načítána "asynchronně", tudíž nemusí data v tabulce třeba přímo sedět zbytku stránky.

Editováno 14. září 10:11
Nahoru Odpovědět 14. září 10:09
"C# 3.0 (2007) volal Java 8 (2014), že chce svoje featury zpět"
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 7 zpráv z 7.