asp.net mvc - How to use pageList in a view -


i trying use pagedlist obtain paged list of tickets.

the model using following :

public class ticketindexmodel {     public ienumerable<ticket> ticketlist { get; set; }     public string tickettitle { get; set; }     public string ticketdescription { get; set; } } 

and in controller sending view :

ticketindexmodel indexticketlist = new ticketindexmodel(); indexticketlist.ticketlist = db.tickets.where(r => r.username == currentusername).tolist().orderbydescending(r => r.datecreated); return view(indexticketlist.ticketlist.topagedlist(pagenumber,pagesize)); 

in view have 2 things, list of tickets , simple form add ticket. here little code :

@model pagedlist.ipagedlist<cds.models.ticketindexmodel> @foreach (var row in model) {     foreach(var item in row.ticketlist){ // list of tickets } } 

but problem in form adding new ticket

@html.labelfor(model => model.tickettitle)  

model.tickettitle not available access.

how can fix ? or suggest use different paging system ?

edit :

i made changes said in controller, switched ticketindexmodel in view, changed model use ipagedlist.

i added following code : page @(model.pagecount < model.pagenumber ? 0 : model.pagenumber) of @model.pagecount

@if (model.haspreviouspage) {     @html.actionlink("<<", "index", new { page = 1, sortorder = viewbag.currentsort, currentfilter=viewbag.currentfilter  })     @html.raw(" ");     @html.actionlink("< prev", "index", new { page = model.pagenumber - 1, sortorder = viewbag.currentsort, currentfilter=viewbag.currentfilter  }) } else {     @:<<     @html.raw(" ");     @:< prev }  @if (model.hasnextpage) {     @html.actionlink("next >", "index", new { page = model.pagenumber + 1, sortorder = viewbag.currentsort, currentfilter=viewbag.currentfilter  })     @html.raw(" ");     @html.actionlink(">>", "index", new { page = model.pagecount, sortorder = viewbag.currentsort, currentfilter=viewbag.currentfilter  }) } else {     @:next >     @html.raw(" ")     @:>> } 

but error
models.ticketindexmodel' not contain definition 'pagecount' , no extension method 'pagecount' accepting first argument of type 'models.ticketindexmodel' found (are missing using directive or assembly reference?)

should change model ? don't know exactly, it's first time use this, , started using mvc 3 months ago.

in view have 2 things, list of tickets , simple form add ticket.

then ipagedlist<cds.models.ticketindexmodel> not suitable view model view since need more information in simple paged list of tickets.

you make view typed ticketindexmodel type instead:

ticketindexmodel indexticketlist = new ticketindexmodel(); indexticketlist.ticketlist = db     .tickets     .where(r => r.username == currentusername)     .tolist()     .orderbydescending(r => r.datecreated)     .topagedlist(pagenumber,pagesize); return view(indexticketlist); 

and view:

@model ticketindexmodel ... here can access model.tickettitle since need , model.ticketlist show list 

of course might need adapt model uses ipagedlist<ticket> instead of ienumerable<ticket>.


Comments

Popular posts from this blog

blackberry 10 - how to add multiple markers on the google map just by url? -

php - guestbook returning database data to flash -

delphi - Dynamic file type icon -