• 30 odgovora
  • 8.530 pregleda
ASP.NET MVC 2 problem sa pageing 26.09.2010. u 20:06 · pre 195 meseci #1
Ako u modelu imam kolekciju (spisak nekih podataka iz baze) kako da prikažem te rezultate po stranicama u View?
Potpis
Mislim, šta reći !
Re: ASP.NET MVC 2 problem sa pageing 27.09.2010. u 10:03 · pre 195 meseci #2
po "skolski" u skladu sa filozofijom napravis novu rutu

/[controller]/[action]/[id]/[page]



npr

/Products/View/2/4

ili alternativni route bez id-a

/Products/List/4

gde je 4 cetvrta strana



Druga opcija ti je Ajax.
Potpis
Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog
naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji
je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan,
sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv - Z.Đinđić
Re: ASP.NET MVC 2 problem sa pageing 27.09.2010. u 23:21 · pre 195 meseci #3
Ok, smislio sam, napravio sam još jednu ( pored ListaPrva() ) metodu za klik na stranice.

public ActionResult ListaStranica(int page, Collection<Product> Lista)

Pitanje je kako da prosledim ovoj metodi Listu iz View-a? To bi bila cela lista koja se dobija upitom ka bazi ( iz ListaPrva() ) pa bih izdvojio deo koji mi treba za stranicu i prikazao.
Potpis
Mislim, šta reći !
Re: ASP.NET MVC 2 problem sa pageing 28.09.2010. u 07:38 · pre 195 meseci #4
JA nisam siguran da je to moguce, mislim da precenjujes sposobnosti MVCa :) Osim ako nesto kriticno nisam propustio parametri Action metode stizu direktno iz routinga a URL encoding kompleksnih tipova mi deluje, hmm, zeznuto. AKo neko zna bolje nek kaze.
Potpis
Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog
naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji
je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan,
sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv - Z.Đinđić
Re: ASP.NET MVC 2 problem sa pageing 28.09.2010. u 08:54 · pre 195 meseci #5
:) . Ipak je ono što mi je bilo potrebno Session da sačuvam tu listu, a ne da je prosleđujem svaki put. Hvala.
Potpis
Mislim, šta reći !
Re: ASP.NET MVC 2 problem sa pageing 28.09.2010. u 09:43 · pre 195 meseci #6
Jeres pravi MVC programeri ne koriste session state Ako kontroler kesira podatke u session state-u onda vise ne postoji separacija od http contexta (bye, bye testing)

Sad realno, imaj samo u vidu da je tvoj paging view sada zavistan od kreiranja session kesa, nemoj podrazumevati da ce ga neko kreirati za tebe jer view moze da se pozove direktno kroz URL.
Potpis
Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog
naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji
je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan,
sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv - Z.Đinđić
Re: ASP.NET MVC 2 problem sa pageing 28.09.2010. u 10:08 · pre 195 meseci #7
Da li ti samo zelis da ucitas sledeci Page ili postback-ujes trenutni page nazad ?
Potpis
Sad mu nije nista, ubio si ga k'o zeca...
Re: ASP.NET MVC 2 problem sa pageing 28.09.2010. u 10:17 · pre 195 meseci #8
Nema postback-a u MVCu. Nemas kontrolu nad klasom iz View-a (niti je postojanje klase obavezno, to je samo za WebForms renderer) samim tim nemas gde ni da hvatas postback.
Potpis
Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog
naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji
je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan,
sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv - Z.Đinđić
Re: ASP.NET MVC 2 problem sa pageing 28.09.2010. u 10:23 · pre 195 meseci #9
Lapsus, mislio sam da li zeli da POST-uje formu nazad ili treba da radi paging prikaz neke kolekcije.
Ako je ovo drugo onda je to prilicno jednostavno pa mogu da ponudim resenje.
Potpis
Sad mu nije nista, ubio si ga k'o zeca...
Re: ASP.NET MVC 2 problem sa pageing 28.09.2010. u 10:25 · pre 195 meseci #10
Zar ne moze da posalje id objekta ajaxom, i da onda uzme kolekciju koja mu je potrebna ili u modelu da ima metodu koja ce da mu vrati kolekciju?

Ako sam dobro razumeo sta android~paranoid zeli. Postoji opcija i da ja nisam dobro razumeo :)
Potpis
Re: ASP.NET MVC 2 problem sa pageing 28.09.2010. u 10:38 · pre 195 meseci #11
Citat:
Milos Zobenica: Zar ne moze da posalje id objekta ajaxom, i da onda uzme kolekciju koja mu je potrebna ili u modelu da ima metodu koja ce da mu vrati kolekciju?

Ako sam dobro razumeo sta android~paranoid zeli. Postoji opcija i da ja nisam dobro razumeo :)


Pa upravo to. Posalje id, pageNumber i pomocu Ajaxa povuce samo tu kolekciju.
U akciji kontrolera iscupa potrebne elemente kolekcije i vrati PartialView. A na kraju taj partial view samo umetne u odredjeni <div> koji je placeholder za listu.

Jednostavno.
Potpis
Sad mu nije nista, ubio si ga k'o zeca...
Re: ASP.NET MVC 2 problem sa pageing 28.09.2010. u 10:45 · pre 195 meseci #12
da, to je ajax pristup, za koji ti opet treba routa kroz koju ces serveru da posaljes id i page number, jedina razlika je sto koristis partial view umesto punog. Problem ovde je sto je on hteo da utera collection u get action metod.
Potpis
Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog
naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji
je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan,
sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv - Z.Đinđić
Re: ASP.NET MVC 2 problem sa pageing 28.09.2010. u 10:57 · pre 195 meseci #13
Evo jedan primer...

Model:
Code:

public string MojaKolekcija
{
    get
    {
        return (ovde vratis tu kolekciju npr u html-u u view-u, tipa imas private metodu koja ce vratiti podatke i napraviti html koji ti je potreban);
    }
    private set
    {
        ;
    }
}



View:
Code:

 <div>
              <%= Model.MojaKolekcija %> 
 </div>




Znam da ne bi trebao da tamo pisem html, ali mislim da mu je ovako najlakse za pocetak
Potpis
Re: ASP.NET MVC 2 problem sa pageing 28.09.2010. u 11:07 · pre 195 meseci #14
lol

kad si vec tu sto onda i cuvas podtke u bazi, cuvaj XHTML pa ga seci kroz parametrizovan XSLT za razne stranice
Potpis
Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog
naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji
je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan,
sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv - Z.Đinđić
Re: ASP.NET MVC 2 problem sa pageing 28.09.2010. u 11:16 · pre 195 meseci #15
Citat:
mmix: lol

kad si vec tu sto onda i cuvas podtke u bazi, cuvaj XHTML pa ga seci kroz parametrizovan XSLT za razne stranice ;)



Rekoh iznad da ne treba i da mislim mu je za pocetak najlakse ovako.

:-)

Da obrisemo onda prethodni post ? ;-)
Potpis
Re: ASP.NET MVC 2 problem sa pageing 28.09.2010. u 11:22 · pre 195 meseci #16
Ma nema potrebe, znamo da je zezanje. Nego ima tu i malo zastrasujuceg faktora, ko zna sta se sve moze naci u "divljini" danas na novopecenim mvc projektima. Ako oni svi imaju cistu MVC/MVVM separaciju onda sam ja cica stanko hajduk. Al vzano da je hip i moderno
Potpis
Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog
naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji
je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan,
sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv - Z.Đinđić
Re: ASP.NET MVC 2 problem sa pageing 28.09.2010. u 11:40 · pre 195 meseci #18
Nisam radio sa AJAX-om, ali probaću i tako.
Uglavnom, rešio sam problem, imam pored Modela klasu View Model kojoj prosleđujem delove Liste tj. stranice koje treba da prikažem, kao i broj stranica.

View
Code:

        <% for (int i = 1; i < Model.brojStranica + 1; i++ )
           { %>
              
           <%: Html.ActionLink(i.ToString(), "ListaStranica", new { page = i })%>

        <% } %>


Napraviću još proveru da li session objekat postoji u slučaju za koji je rekao mmix.
Potpis
Mislim, šta reći !
Re: ASP.NET MVC 2 problem sa pageing 28.09.2010. u 11:51 · pre 195 meseci #19
Mislio sam u prethodnom postu i ovaj primer da napisem, ali tad bi me tek MMIX napao :-D
Potpis
Re: ASP.NET MVC 2 problem sa pageing 28.09.2010. u 12:09 · pre 195 meseci #20
Sto? Koliko sam ga ja razumeo ima poseban ViewModel koji vraca samo podset podataka iz modela i njih renderuje kroz view, spearacija nije narusena (ako zanemarimo prckanje po session state-u u modelu ). A primer koji je ostavio je koncept generisanja page link liste. Nemam nikakav los komentar na to.

Pun MVC pristup bi bio imati viewmodel koji bi ucitao samo zahtevan podatke (koristeci Skip i Take LINQ ekstenzije) bez kesiranja.

Ili moze i sa kesiranjem ali samo kroz domain-level kesiranje. Npr vidi ovde: http://stevescodingblog.co.uk/net4-caching-with-mvc/ sa tim da naravno kes sluzi svima pa ovaj primer moras da prosiris sa thread sinhronizacijom. Samo session kesiranje je veoma pipavo sa MVCom jer bi isti trebao da je potpuno stateless (osim mozda u viewu).
Potpis
Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog
naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji
je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan,
sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv - Z.Đinđić
Odgovori
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme