The view (the Web page or Web Part) manages the controls on the Web page and forwards user events to a presenter. The presenter contains the logic to respond to the events, updates the model (both the business logic and the application data), and alters the state of the view.
Step 1: Create an interface for a business object (Model). For example:
- public interface IModelStudent
- {
- IEnumerable<tbl_Student> StudentList();
- bool IsSuccessful { get; set; }
- void AddStudent(tbl_Student student);
- void EditStudent(tbl_Student student);
- tbl_Student GetStudent(long StuID);
- void DeleteStudent(long StuID);
- }
- public class ModelStudent : IModelStudent
- {
- StudentDBEntities db;
- //Custructor
- public ModelStudent()
- {
- db = new StudentDBEntities();
- }
- //List
- public IEnumerable<tbl_Student> StudentList()
- {
- return db.tbl_Student.ToList();
- }
- public bool IsSuccessful { get; set; }
- public void AddStudent(tbl_Student student)
- {
- try
- {
- db.tbl_Student.AddObject(student);
- db.SaveChanges();
- IsSuccessful = true;
- }
- catch (Exception)
- {
- IsSuccessful = false;
- }
- }
- public void EditStudent(tbl_Student student)
- {
- try
- {
- tbl_Student originalStudent = db.tbl_Student.Where(w => w.StuID == student.StuID).Select(s => s).FirstOrDefault();
- db.tbl_Student.ApplyCurrentValues(student);
- db.SaveChanges();
- IsSuccessful = true;
- }
- catch
- {
- IsSuccessful = false;
- }
- }
- public tbl_Student GetStudent(long StuID)
- {
- return db.tbl_Student.Where(w => w.StuID == StuID).Select(s => s).First();
- }
- public void DeleteStudent(long StuID)
- {
- try
- {
- var student = db.tbl_Student.Where(w => w.StuID == StuID).Select(s => s).FirstOrDefault();
- db.tbl_Student.DeleteObject(student);
- db.SaveChanges();
- IsSuccessful = true;
- }
- catch (Exception)
- {
- IsSuccessful = false;
- }
- }
- }
- public interface IViewStudent
- {
- long StuID { get; set; }
- string StuName { get; set; }
- int Age { get; set; }
- IEnumerable<tbl_Student> students { get; set; }
- tbl_Student studentDetails { get; set; }
- event EventHandler LoadStudents;
- event EventHandler<EventArgs> AddStudent;
- event EventHandler<EventArgs> EditStudent;
- event EventHandler<EventArgs> GetStudent;
- event EventHandler<EventArgs> DeleteStudent;
- }
- <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="StudentIndo.aspx.cs" Inherits="MVPDemo.StudentIndo" %>
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head runat="server">
- <title></title>
- </head>
- <body>
- <form id="form1" runat="server">
- <div>
- <asp:GridView ID="gvStudentList" runat="server" AutoGenerateColumns="false" ShowHeader="true">
- <Columns>
- <asp:TemplateField HeaderText="Student Name">
- <ItemTemplate>
- <%-- <input id="hndID" runat="server" type="hidden" value='<%# Eval("StuID") %>' />--%>
- <%# Eval("StuName") %>
- </ItemTemplate>
- </asp:TemplateField>
- <asp:TemplateField HeaderText="Age">
- <ItemTemplate>
- <%# Eval("Age") %>
- </ItemTemplate>
- </asp:TemplateField>
- <asp:TemplateField HeaderText="Edit">
- <ItemTemplate>
- <asp:LinkButton ID="lnkbtnEdit" runat="server" Text="Edit" OnClick="lnkbtnEdit_Click"
- CommandArgument='<%# Eval("StuID") %>'></asp:LinkButton>
- </ItemTemplate>
- </asp:TemplateField>
- <asp:TemplateField HeaderText="Delete">
- <ItemTemplate>
- <asp:LinkButton ID="lnkbtnDelete" runat="server" Text="Delete" OnClick="lnkbtnDelete_Click"
- CommandArgument='<%# Eval("StuID") %>'></asp:LinkButton>
- </ItemTemplate>
- </asp:TemplateField>
- </Columns>
- </asp:GridView>
- <br />
- <br />
- <table>
- <tr>
- <td>
- Stu Name :
- </td>
- <td>
- <input type="text" id="txtStuName" runat="server" placeholder="Enter Student Name"
- required="required" aria-describedby="name-format" aria-required="true" />
- </td>
- </tr>
- <tr>
- <td>
- Age :
- </td>
- <td>
- <input type="text" id="txtAge" runat="server" placeholder="Enter Age" required="required" aria-describedby="Age" aria-required="true" />
- </td>
- </tr>
- <tr>
- <td colspan="2">
- <asp:Button ID="btnSave" runat="server" Text="Save" OnClick="btnSave_Click" />
- </td>
- </tr>
- </table>
- </div>
- </form>
- </body>
- </html>

Join the conversation! Your thoughts help the community grow.