본문 바로가기

IT/C#

C# WebApplication MVC 02 (ViewBag)

Controller에서 View로 데이터를 전송하는 방법 모든 데이터 타입은 오브젝트 타입으로 온다.


1. ViewBag.네이밍


2. ViewData

컬렉션(배열)타입으로 들어온다.


3. return View(파라미터);

Model로 받음



주로 모델 많이 사용




DAO 쓰지 않고







using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Web.Mvc;

using WebAppMVC02.Models;


namespace WebAppMVC02.Controllers

{

    public class EmpController : Controller

    {

        // GET: Emp

        public ActionResult Index()

        {

            using (var db = new DataContext())

            //using은 객체개 생성되고 수행이 끝나면 Dispose함 여기서 db 끊기

            {

                var empList = db.PO_EMPLOYEER.ToList();

                return View(empList);

            }

        }


        public ActionResult Details(int id)

        {

            using (var db = new DataContext())

            {

                var emp = db.PO_EMPLOYEER.SingleOrDefault(p => p.EMP_NO == id);

                return View(emp);

            }

        }


        public ActionResult Delete(int id)

        {

            using (var db = new DataContext())

            {

                //var emp = db.PO_EMPLOYEER.Where(i => i.EMP_NO == id).SingleOrDefault();

                var emp = db.PO_EMPLOYEER.SingleOrDefault(p => p.EMP_NO == id);

                if (emp != null)

                {

                    db.PO_EMPLOYEER.Remove(emp);

                    db.SaveChanges();

                }

                return RedirectToAction("Index");

            }

        }


        [HttpGet]

        public ActionResult Edit(int id)

        {

            using (var db = new DataContext())

            {

                var emp = db.PO_EMPLOYEER.SingleOrDefault(p => p.EMP_NO == id);

                return View(emp);

            }

        }



        [HttpPost] //포스트 일때는 아래 메소드 수행

        public ActionResult Edit(PO_EMPLOYEER emp)

        {

            using (var db = new DataContext())

            {

                var oldEmp = db.PO_EMPLOYEER.SingleOrDefault(p => p.EMP_NO == emp.EMP_NO);

                if (oldEmp != null)

                {

                    //최근 db에 다 엎어친다

                    //방법 1

                    //oldEmp.EMP_PHONE = emp.EMP_PHONE;

                    //oldEmp.EMP_NAME = emp.EMP_NAME;

                    //oldEmp.EMP_LEVEL = emp.EMP_LEVEL;

                    //방법 2

                    UpdateModel(oldEmp);

                    db.SaveChanges();//변경사항 저장

                }

            }

            return RedirectToAction("Index");

        }


        public ActionResult Create()

        {

            var emp = new PO_EMPLOYEER();

            return View(emp);

        }


        [HttpPost]

        public ActionResult Create(PO_EMPLOYEER emp)

        {

            using (var db = new DataContext())

            {

                db.PO_EMPLOYEER.Add(emp);

                db.SaveChanges();

                return RedirectToAction("Index");

            }

        }



    }




'IT > C#' 카테고리의 다른 글

C# WebApplication MVC 04(에저, Ajax)  (0) 2017.04.05
C# WebApplication MVC 03 (DropDownList, Login, Cookie)  (0) 2017.04.04
C# WebApplication MVC 01(Entity Framework, CRUD)  (0) 2017.03.31
Web Server  (0) 2017.03.30
C# 005  (0) 2017.03.24