2016-07-24 2 views
1

gelöscht Ich benutze PagedList.MVC für Paging in meiner MVC-Anwendung.Also zuerst bin ich auf der Homepage und wenn ich Suchleiste füllen und senden Sie das Formular es post das Model auf Suchmethode, die wie folgt ist.Suche Modell wird für die zweite Seite Anfrage in PagedList.MVC in MVC

Also diese Umleitung zu Suchseite mit gesuchten Kriterien Ergebnisse. Wenn ich jetzt auf die zweite Seite von PagedList.MVC page klicke, wird die gleiche Methode aufgerufen, aber zu diesem Zeitpunkt erhalte ich mein SearchModel Empty oder sage leer, aber ich möchte mein Suchmodell wie auf allen Seitenanforderungen beim Paging. Wie kann ich das erreichen?

Ich habe versucht, Suche Modell in VieBag, aber ich bin nicht bekommen, wie man Modell aus Sicht Tasche in Paging-Anfrage senden. Ich weiß nicht, wie kann ich Modell in Html.PagedListPager

@Html.PagedListPager(Model, page => Url.Action("GetSearchdProperty", "SearchProperty", new { page })). 

EDIT

public class SearchModel 
    { 
     public string search_text { get; set; } 
     public string min_area { get; set; } 
     public string max_area { get; set; } 
     public string min_price { get; set; } 
     public string max_price { get; set; } 
     public string bedroom { get; set; } 
    } 
+1

Sie sollten einen Blick Modell mit Ihrer Suche/Filtereigenschaften und eine Eigenschaft für 'IPagedList ' Dann fügen Sie die Werte in die URL, zum Beispiel 'new {Seite, search = Model.SearchText, zurückkehren fllter = Model.Filter, .....} ' –

+0

Ist die Leistung verschlechtert, wenn ich viele Felder in der Suche habe und alle Werte als von Ihnen vorgeschlagene Methode übergeben? Und kann ich alle Werte im Modell auf der Controller-Seite bekommen? –

+0

Nein und Ja (aber was ist Ihr 'SearchModel'?) –

Antwort

1

eine Immobilie zu Ihrer Ansicht Modell hinzufügen für die IPagedList<T> passieren und dann Ihr Modell zurückkehren, so dass die Suche/Filter Werte können der URL hinzugefügt werden

und in der Ansicht

@model SearchModel 
.... 
@Html.PagedListPager(Model.Items, page => Url.Action("GetSearchdProperty", "SearchProperty", 
    new { page, search_text = Model.search_text, min_area = Model.min_area, .... })) 
+0

Vielen Dank ... –

Verwandte Themen