Ich habe eine Aktion Methode Suche, die aufgerufen wird, wenn ein Formular gebucht wird. Es könnte Tausende von Suchresultaten geben, basierend auf den veröffentlichten Werten der Form. Ich möchte die Suchansicht Seite für Seite anzeigen, aber woher weiß ich, welche Formularwerte zum ersten Mal gepostet wurden? damit ich die Suchansicht aufrufen kann, indem ich Seitenparameter übergebe.Asp.net mvc Form Post und Paging
Antwort
In meiner app alle Action-Methoden, die Daten an Gitter nehmen als Parameter eine Instanz dieser Klasse bieten:
public class QuerySettings
{
private int page;
public QuerySettings()
: this(true)
{
}
public QuerySettings(bool pagingEnabled)
{
this.Page = 1;
this.Rows = 10;
this.PagingEnabled = pagingEnabled;
}
public int Rows { get; set; }
public string SortColumn { get; set; }
public string SortOrder { get; set; }
public string Search { get; set; }
public bool PagingEnabled { get; set; }
public int Page
{
get { return page; }
set { page = Math.Max(1, value); }
}
}
Diese Aufgabe wird durch Business Layer zu Service-Methoden übergeben, die die Informationen verwenden können, übergeben geeignete Sortierung/Filterung anwenden. Sie geben dann die eingepackten Daten zurück:
public class QueryResult<T>
{
public QueryResult()
{
}
public QueryResult(QuerySettings settings, IList<T> items, int currentPage, int totalPages, int totalItems)
{
Settings = settings;
Items = items;
CurrentPage = currentPage;
TotalPages = totalPages;
TotalItems = totalItems;
}
public QuerySettings Settings { get; private set; }
public int CurrentPage { get; private set; }
public int TotalPages { get; private set; }
public int TotalItems { get; private set; }
public IList<T> Items { get; private set; }
public IEnumerable<T> AsEnumerable()
{
return this.Items;
}
}
Der beste Ansatz wäre, die Staatenlosigkeit des Systems zu akzeptieren. Geben Sie bei jeder Wiedergabe der Ansicht die Werte ein, die Sie für die nächste Aktionsanforderung benötigen. Sie könnten der Abfragezeichenfolge auf der Aktionsverknüpfung hinzugefügt werden, als Formularelemente hinzugefügt werden und die Verknüpfung ruft einen POST auf (letzteres klingt am besten, da der Suchbegriff wahrscheinlich ein Formulareingabeelement an und für sich ist).
Füllen Sie einfach die Texteingabe für den Suchbegriff (ich gehe davon aus, dass Sie das verwenden) mit dem angegebenen Suchwert jedes Mal, wenn Sie die Ansicht rendern. Die Seitennummer kann an die Abfragezeichenfolge der Paging-Links angehängt werden. Usw.
So ist jede nachfolgende Anfrage vollständig realisiert und unabhängig von vorherigen Anfragen. Der Suchbegriff, die Seitenzahl, eventuell die Seitengröße usw. sollten jeweils an die Aktion übergeben werden.
- 1. ASP.net MVC Paging
- 2. Paging in asp.net Mvc
- 3. ASP.NET MVC Formular Post
- 4. ASP.NET MVC: jQuery Post und Dateien
- 5. FormCollection Empty on Form Post in ASP.NET-MVC
- 6. ASP.NET MVC - POST-Parameter
- 7. ASP.NET MVC 2 Paging Sorting Filterung
- 8. ASP.NET MVC Form und doppelte Felder
- 9. ASP.NET MVC: add on Form Abfragezeichen einreichen
- 10. Wie implementieren Sie Paging in ASP.NET MVC?
- 11. Wie mit Paging in asp.net mvc umgehen?
- 12. MVC Form Post zu sich Szenario
- 13. ASP.NET MVC 5 Form Validierung
- 14. ASP.NET MVC: Form Input ziemlich URLs
- 15. window.location.href Post Parameter asp.net Mvc
- 16. ASP.NET MVC Cross-Anwendung POST-Anfrage
- 17. ASP.NET MVC - Mehrere Modelle in einer Form und Modell Bindemittel
- 18. asp.net mvc form nicht posten Parameterwerte
- 19. ASP.NET MVC Passing Form Wert Aktionsmethode
- 20. MVC Paging: Post-Methode anstelle von Get-Methode
- 21. Post Form und Get-Datei Ergebnis mit JQuery/ASP MVC
- 22. ASP.Net MVC Ajax Form mit jQuery Validierung
- 23. Post String an die Steuerung asp.net Mvc
- 24. Frage über ASP.NET MVC & ein Formular post mit HTTP-POST
- 25. Tabellendaten mit Paging und Sortieren
- 26. Codeigniter Form Post und Validierung
- 27. Asp.Net MVC - Ungerade Form/Controller Problem
- 28. ASP.NET MVC Filterung Seitenliste
- 29. Wie Sortieren/Paging in jqgrid in ASP.net MVC
- 30. Paging-Zähler Fehler asp.net
Ihre Suchaktionsmethoden können Parameter sowohl für die Suchphrase als auch für das Paging verwenden, wie 'Search (string phrase, int page)'. – bzlm