Premium Only Content

Part 7 Models in an mvc application
In this video we will discuss models in an mvc application.
Let's understand models with an example. We want to retrieve an employee information from tblEmployee table and display it in a view.
To encapsulate Employee information, add Employee model class to the Models folder. To do this
1. Right click on "Models" folder - Add - Class
2. Name the class as Employee.cs
3. Click "Add"
Copy and paste the following code in Employee.cs class file.
public class Employee
{
public int EmployeeId { get; set; }
public string Name { get; set; }
public string Gender { get; set; }
public string City { get; set; }
}
Now let's Add EmployeeController class to "Controllers" folder. To do this
1. Right click on "Controllers" folder - Add - Controller
2. Use EmployeeController as the name
3. Click "Add"
We want to use "Employee" model class in EmployeeController. So copy and paste the following "using" statement in "EmployeeController.cs"
using MVCDemo.Models;
By default an Index() Action method is created in EmployeeController. Change the name of the function to Details(). Create an instance of Employee class. For now we will hard code Employee data in this class. In a later video session, we will discuss about retrieving employee information from the database table tblEmployee. At this point EmployeeController should look as shown below.
public ActionResult Details()
{
Employee employee = new Employee()
{
EmployeeId = 101,
Name = "John",
Gender = "Male",
City = "London"
};
return View();
}
Now, we need to pass the employee model object that we constructed in EmployeeController to a view, so the view can generate the HTML and send it to the requested client. To do this we first need to add a view. To add a view
1. Right click on Details() action method and select "Add View" from the context menu
2. Set
a)View Name = Details
b)View Engine = Razor
c)Select "Create strongly typed view" check box
d)From the "Model class" dropdownlist, select "Employee (MVCDemo.Models)"
Note: If Employee class is not visible in the dropdownlist, please build your project and then try adding the view again.
3. Finally click "Add"
At this point, Details.cshtml should be added to "Employee" folder. Please note that "Employee" folder is automatically created and added to "Views" folder.
At this point if you run the project, and if you navigate to the following URL, you get a runtime error stating - Object reference not set to an instance of an object.
localhost/MVCDemo/Employee/Details
To fix this error, pass "Employee" object to the view. The "return" statement in Details() action method need to be modified as shown below.
return View(employee);
That's it. Run the application and navigate to localhost/MVCDemo/Employee/Details. We should get the output as expected.
-
LIVE
Russell Brand
2 hours agoEstablishment ATTACK RFK Jr As China Unveils Weapons AIMED at America’s Bases! - SF629
3,559 watching -
LIVE
Dr Disrespect
3 hours agoLIVE - DR DISRESPECT - MARVEL RIVALS, PUBG, OFF THE GRID - TRIPLE THREAT GAME CHALLENGE
1,725 watching -
LIVE
Tucker Carlson
1 hour agoBill Gates, Truth About Vaccines, & Big Pharma’s Plot to Destroy Doctors Who Question ”The Science”
5,198 watching -
20:08
Professor Nez
24 minutes ago🚨🔥BRUTAL! Trump ROASTS Newsom SO BAD it BREAKS Gavin for Good
1 -
2:04:38
Side Scrollers Podcast
3 hours agoEveryone HATES Baseball Karen + Gaming’s Newest Virtue Signal + MORE | Side Scrollers Live
9701 -
LIVE
StoneMountain64
1 hour agoDelta Force Budget vs JUICER Loadouts
110 watching -
LIVE
Sean Unpaved
2 hours agoYardline Yarns: Giants Need Juice, Bills-Ravens Classic, Dolphins' Soft Spot & Packers Prove It
142 watching -
1:05:03
Timcast
2 hours agoDemocrat media COVERS UP Irina Zarutska Murder, Second White Woman Killed, Trump Says WAR
79.3K77 -
2:07:35
Steven Crowder
5 hours agoThe Murder of A Ukrainian Refugee is A Tipping Point in American History
277K291 -
1:03:37
The Rubin Report
3 hours agoMedia Caught Trying to Ignore Ugly New Details of Charlotte Train Stabbing Caught on Tape
36K72