public ActionResult Index(string sortOrder) { ViewData["FullNameSortParm"] = String.IsNullOrEmpty(sortOrder) ? "name_desc" : ""; ViewData["FirstNameSortParm"] = sortOrder == "firstname" ? "firstname_desc" : "firstname"; var list = _db.MembershipAllowDelete().ToList(); switch (sortOrder) { case "name_desc": list.Sort((a, b) => String.Compare(b.LastName + " " + b.FirstName, a.LastName + " " + a.FirstName, StringComparison.CurrentCulture)); break; case "firstname_desc": list.Sort((a, b) => String.Compare(b.FirstName, a.FirstName, StringComparison.CurrentCulture)); break; case "firstname": list.Sort((a, b) => String.Compare(a.FirstName, b.FirstName, StringComparison.CurrentCulture)); break; default: list.Sort((a, b) => String.Compare(a.LastName + " " + a.FirstName, b.LastName + " " + b.FirstName, StringComparison.CurrentCulture)); break; } ViewBag.Count = list.Count; return(View(list)); }