Home > DeveloperSection > Forums > How to Filtering with the entity framework is an ASP.NET MVC Application
Anupam Mishra

Total Post:135

Points:949
Posted on    February-05-2016 10:27 PM

 ASP.Net C#  ASP.Net  ASP.NET MVC 
Ratings:


 1 Reply(s)
 257  View(s)
Rate this:
Hi Everyone,

I want to know how to Filter record with the using of entity framework in ASP.NET MVC. Can anyone give me a solution.

Thank you.


Anupam Mishra

Total Post:135

Points:949
Posted on    February-05-2016 11:10 PM


Finally, I have resolve this problem.
For Solution of above problem, we are creating  one student controller and its index view. We want to display  a Filter records(i.e. First Name,Last Name ) in index view. For this we create a search string text box in a view for searching  FirstName,LastName in student records.
this is a code of Student controller Index Action:
public ActionResult Index(string sortOrder, string searchString, string currentFilter)
{
ViewBag.NameSortParm = String.IsNullOrEmpty(sortOrder) ? "Name" : "";
ViewBag.DateSortParm = sortOrder == "Date" ? "Date_desc" : "Date";
ViewBag.CurrentFilter = searchString;
if (!String.IsNullOrEmpty(searchString)) { students = students.Where(s => s.FirstName.ToUpper().Contains(searchString.ToUpper()) || s.LastName.ToUpper().Contains(searchString.ToUpper())); }
{
students = students.Where(s => s.FirstName.ToUpper().Contains(searchString.ToUpper())
|| s.LastName.ToUpper().Contains(searchString.ToUpper()));
} var students = from s in db.Student // Student is a table i.e. containing records of student
select s;
switch (sortOrder)
{
case "Name":
students = students.OrderByDescending(s => s.FirstName);
break;
case "Date":
students = students.OrderBy(s => s.EnrollmentDate);
break;
case "Date_desc":
students = students.OrderByDescending(s => s.EnrollmentDate);
break;
default:
students = students.OrderBy(s => s.FirstName);
break;
}
return View(students.ToList());
}
Now. we have changed the index view of student. Code is as Follows:    
  <h2>Student Index</h2>
    <p>
    @Html.ActionLink("Create New",  "Create")
    @using (Html.BeginForm("Index", "Student", FormMethod.Get))
{
    <p>
        Find by name: @Html.TextBox("SearchString", ViewBag.CurrentFilter as string)  
        <input type="submit" value="Search" />


Modified On Feb-06-2016 03:41:26 AM

Don't want to miss updates? Please click the below button!

Follow MindStick