ich eine grundlegende Sortierung implementieren zu verstecken - Filtration mitist es eine Möglichkeit, eine Abfrage-Zeichenfolge aus zeigt auf der Suche und Filter mit asp.net MVC
den Index-Code in Controller Sortierung
public ViewResult Index(string sortOrder, string currentFilter, string searchString, int? page)
{
ViewBag.CurrentSort = sortOrder;
ViewBag.NameSortParm = String.IsNullOrEmpty(sortOrder) ? "name_desc" : "";
ViewBag.DateSortParm = sortOrder == "Date" ? "date_desc" : "Date";
if (searchString != null)
{
page = 1;
}
else
{
searchString = currentFilter;
}
ViewBag.CurrentFilter = searchString;
var students = from s in db.Students
select s;
if (!String.IsNullOrEmpty(searchString))
{
students = students.Where(s => s.LastName.Contains(searchString)
|| s.FirstMidName.Contains(searchString));
}
switch (sortOrder)
{
case "name_desc":
students = students.OrderByDescending(s => s.LastName);
break;
case "Date":
students = students.OrderBy(s => s.EnrollmentDate);
break;
case "date_desc":
students = students.OrderByDescending(s => s.EnrollmentDate);
break;
default: // Name ascending
students = students.OrderBy(s => s.LastName);
break;
}
int pageSize = 3;
int pageNumber = (page ?? 1);
return View(students.ToPagedList(pageNumber, pageSize));
}
, was ich fragen, ist es eine Möglichkeit, das gleiche zu implementieren Code, ohne den Abfrageparameter dem Endbenutzer wie in Bildern gezeigt anzuzeigen.
ist es verfügbar, um diesen Parameter mit etwas wie Ansicht Modell - Formularsammlung oder routenbasiert zu verstecken - und gibt es Probleme im Zusammenhang mit Sicherheit mit dieser Art der Arbeit mit Abfragezeichenfolge oder nicht - Beachten Sie, dass dieses Beispiel ein ist nur eine Demo zu was ich tun möchte mit Contoso Universität (Microsoft Demo) und sicher in diesem Kontext muss ich nicht eine Abfrage Zeichenfolge verstecken, aber in einem anderen Kontext (mit ado.net gespeicherten Prozedur) kann einige Datenbankarchitektur zeigen -
Sie ein Modell Bindemittel mit einer Reihe von mit gedacht? – maximdumont
Sie können den überflüssigen Teil der Abfragezeichenfolge über jQuery entfernen, nachdem die Seite –
geladen hat. Wenn ein Snippet oder ein Code folgen würde, wäre das ein guter Startpunkt, danke – user4833581