|
Introduction
In this post, I am explain How to retrieve database data & show in a view using jquery in an ASP.Net MVC.Here is this post, I have used jquery for fetch data from database. I have used $.ajax method of Jquery for hit Action of a controller, which return json data.
Steps :
Step - 1 : Create New Project.
Go to File > New > Project > Select asp.net MVC4 web application > Entry Application Name > Click OK > Select Internet Application > Select view engine Razor > OKStep-2: Add a Database.
Go to Solution Explorer > Right Click on App_Data folder > Add > New item > Select SQL Server Database Under Data > Enter Database name > Add.Step-3: Create table for fetch data.
Open Database > Right Click on Table > Add New Table > Add Columns > Save > Enter table name > Ok.Step-4: Add Entity Data Model.
Go to Solution Explorer > Right Click on Project name form Solution Explorer > Add > New item > Select ADO.net Entity Data Model under data > Enter model name > Add.A popup window will come (Entity Data Model Wizard) > Select Generate from database > Next >
Chose your data connection > select your database > next > Select tables > enter Model Namespace > Finish.
Step-5: Create a Controller .
Go to Solution Explorer > Right Click on Controllers folder form Solution Explorer > Add > Controller > Enter Controller name > Select Templete "empty MVC Controller"> Add.Here I have created a controller "UserController"
Step-6: Add new action into your controller for Get view
Here I have added "GetUser" Action into "User" Controller. Please write this following codenamespace MVCFetchDataJquery.Controllers { public class UserController : Controller { public ActionResult GetUser() { return View(); } } }
Step-7: Add another action into your controller for Get All data from Jquery
Here I have added "GetAllUser" Action into "User" Controller. Please write this following codepublic JsonResult GetAllUser() { List<UserMaster> allUser = new List<UserMaster>(); // Here "MyDatabaseEntities " is dbContext, which is created at time of model creation. using (MyDatabaseEntities dc = new MyDatabaseEntities()) { allUser = dc.UserMasters.ToList(); } return new JsonResult { Data=allUser, JsonRequestBehavior = JsonRequestBehavior.AllowGet }; }
Step-8: Add another action into your controller for Get filter data from Jquery
Here I have added "GetUserWithParameter" Action into "User" Controller. Please write this following codepublic JsonResult GetUserWithParameter(string prefix) { List<UserMaster> allUser = new List<UserMaster>(); // Here "MyDatabaseEntities " is dbContext, which is created at time of model creation. using (MyDatabaseEntities dc = new MyDatabaseEntities()) { allUser = dc.UserMasters.Where(a => a.Username.Contains(prefix)).ToList(); } return new JsonResult { Data = allUser, JsonRequestBehavior = JsonRequestBehavior.AllowGet }; }
Step-9: Add view for your Action & design for fetch/show data in view (using jquery).
Right Click on Action Method (here right click on GetUser action) > Add View... > Enter View Name > Select View Engine (Razor) >Add.HTML Code
@{ ViewBag.Title = "Get User"; } <h2>Get User</h2> <table> <tr> <td> Search : <input type="text" id="txtSearch" /> <input type="button" value="Search" id="btnSearch" /> <input type="button" value="Get All User" id="btnAllUser" /> </td> </tr> <tr> <td> <div id="UpdatePanel"> </div> </td> </tr> </table>
Step-10: Write Jquery code for fetch and show Data in a view
Write this code below your viewJS Code
@section Scripts{ <script> $(document).ready(function () { // This is for Get All Data $("#btnAllUser").click(function () { $.ajax({ url: "@Url.Action("GetAllUser","User")", data: "", type: "GET", dataType: "json", success: function (data) { loadData(data); }, error: function () { alert("Failed! Please try again."); } }); }); // this will use for Get Data based on parameter $("#btnSearch").click(function () { $.ajax({ url: "@Url.Action("GetUserWithParameter","User")", data: { prefix: $('#txtSearch').val() }, type: "GET", dataType: "json", success: function (data) { loadData(data); }, error: function () { alert("Failed! Please try again."); } }); }); function loadData(data) { // Here we will format & load/show data var tab = $('<table class="myTable"></table>'); var thead = $('<thead></thead>'); thead.append('<th>User ID</th>'); thead.append('<th>Username</th>'); thead.append('<th>Full Name</th>'); thead.append('<th>Email ID</th>'); thead.append('<th>Is Active</th>'); tab.append(thead); $.each(data, function (i, val) { // Append database data here var trow = $('<tr></tr>'); trow.append('<td>' + val.UserID + '</td>'); trow.append('<td>' + val.Username + '</td>'); trow.append('<td>' + val.FullName + '</td>'); trow.append('<td>' + val.EmailID + '</td>'); trow.append('<td>' + val.IsActive + '</td>'); tab.append(trow); }); $("tr:odd", tab).css('background-color', '#C4C4C4'); $("#UpdatePanel").html(tab); }; }); </script> }
Here is the layout page
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8" /> <title>@ViewBag.Title - My ASP.NET MVC Application</title> <link href="~/favicon.ico" rel="shortcut icon" type="image/x-icon" /> <meta name="viewport" content="width=device-width" /> @Styles.Render("~/Content/css") @Scripts.Render("~/bundles/modernizr") </head> <body> <header> <div class="content-wrapper"> <div class="float-left"> <p class="site-title">@Html.ActionLink("your logo here", "Index", "Home")</p> </div> <div class="float-right"> <section id="login"> @Html.Partial("_LoginPartial") </section> <nav> <ul id="menu"> <li>@Html.ActionLink("Home", "Index", "Home")</li> <li>@Html.ActionLink("About", "About", "Home")</li> <li>@Html.ActionLink("Contact", "Contact", "Home")</li> </ul> </nav> </div> </div> </header> <div id="body"> @RenderSection("featured", required: false) <section class="content-wrapper main-content clear-fix"> @RenderBody() </section> </div> <footer> <div class="content-wrapper"> <div class="float-left"> <p>© @DateTime.Now.Year - My ASP.NET MVC Application</p> </div> </div> </footer> @Scripts.Render("~/bundles/jquery") @RenderSection("scripts", required: false) </body> </html>
Step-11: Run Application.
Download Live Demo
- How to create career page with Upload file (CV) in MVC4.
- How to create a User Registration page using asp.net mvc 4
- How to create a login page using asp.net mvc 4
- Create partial view (Usercontrol) in MVC 4.
- 2 Model in 1 View in MVC 4
- Grouping Gridview in MVC 4
- Microsoft Report in MVC 4
- How to update multiple row at once Using MVC 4 and EF (Entity framework).