Wednesday, August 26, 2015

Insert data In Angularjs And Asp.Net MVC 4

Insert data In Angularjs And Asp.Net MVC 4

In this blog, I’m explaining how to insert data in the database using angular js and asp.net mvc 4.

Step 1:

First create a table in database named “Student” like this:



Step 2:

Now create a basic asp.net mvc 4 application and add database connection like this:




Step 3:

Now add a controller named “HomeController” and add following code in it:


using CRUDInAngulaJsMvcApp.Database;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace CRUDInAngulaJsMvcApp.Controllers
{
    public class HomeController : Controller
    {
        AngularJsEntities db = new AngularJsEntities();

        public ActionResult Index()
        {
            return View(db.Students.ToList());
        }

        public ActionResult Add()
        {
            return View();
        }

        [HttpPost]
        public JsonResult Add(Student newStudent)
        {

            db.Students.Add(newStudent);
            db.SaveChanges();
            return Json(new { Status = "Successfull" }, JsonRequestBehavior.AllowGet);

        }
    }
}

Step 4:

Now add Index view and write the following code:


@model List<CRUDInAngulaJsMvcApp.Database.Student>
@{
    ViewBag.Title = "Index";
}

<h2>Student Details</h2>

@Html.ActionLink("Add", "Add", "Home")

<br />
@foreach(var item in Model)
{
    <div style="width:20%;display:inline-block;">
        <p>Name : @item.Name</p>
        <p>City : @item.City</p>
        <p>Course : @item.Course</p>
        <p>Mobile : @item.Mobile</p>
    </div>
  
}

Step 5:

Now add another view named “Add” and write the following code in it:

@{
    ViewBag.Title = "Add";
}
<script src="~/Scripts/angular.min.js"></script>
<script src="~/Scripts/App/Add.js"></script>
<h2>Add</h2>

<form>
    <div ng-app="addModule" ng-controller="AddController">
        Name : <input type="text" ng-model="Name" />
        <br />
        <br />
        City : <select ng-model="City" ng-options="city as city for city in Cities"></select>
        <br />
        <br />
        Course : <select ng-model="Course" ng-options="course as course for course in Courses"></select>
        <br />
        <br />
        Mobile : <input type="text" ng-model="Mobile" />
        <br />
        <br />
        <input type="button" ng-click="add()" value="Add" />
    </div>
</form>

Step 6:

Now create a javascript file named “Add.js” and write the code in it:


//First create the angular module and named it "addModule"
var addModule = angular.module("addModule", []);

//Create a factory service
addModule.factory('AddRecordService', ['$http', function ($http) {
    return {

        //Get the courses list
        getCourse: function(){
            return ["Btech", "BCA", "BBA", "MTech", "MCA", "MBA"]
        },

        //Get the city list
        getCity: function(){
            return ["New York", "Los Angeles", "Paris", "Tokyo", "Sydney", "New Delhi"]
        },

        //This function will call the add action in the homecontroller and save the data in the database
        saveRecord : function(newStudent)
        {
            $http({
                url: '/Home/Add',
                method: 'POST',
                data : newStudent
            }).then(function (response) {
                if (response !== 'undefined' && typeof (response) == 'object') {
                    window.location.href = '/Home/Index';
                }
            });
        }
    };
}]);


//Create controller with the dependencies
addModule.controller('AddController', ['$scope', '$http', 'AddRecordService', function ($scope, $http, AddRecordService) {

    $scope.Courses = AddRecordService.getCourse();
    $scope.Cities = AddRecordService.getCity();
    $scope.showMessage = false;

    $scope.add = function () {
        var newStudent = {};
        newStudent["Name"] = $scope.Name;
        newStudent["City"] = $scope.City;
        newStudent["Course"] = $scope.Course;
        newStudent["Mobile"] = $scope.Mobile;

        AddRecordService.saveRecord(newStudent);
    }


}]);


Output

Run the application:


This will show the existing data in the table, click on add button:



Fill the form and click on Add button:








No comments:

Post a Comment