ASP.NET MVC

[ASP.NET MVC] - Controller 에서 View 로 데이터 전달하기

Riucc 2019. 4. 18. 23:49

○ Controller 에서 View 로 데이터 전달하기 

 

- Controller 에서 View 로 데이터 전달하기

     1. View()에다가 넘기는 방법


     2. View()는 건들지 않고 ViewBag 사용하는 방법

        ViewBag은 Object처럼 Dynamic하게 객체 등 모든 타입들을 담을 수 있다

   

     3. View()는 건들지 않고 ViewData 사용하는 방법

        ViewData는 객체를 담을 수 없고 단순 데이터 int, string 등 담을 수 있다


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
using WebApplication1.Models; // Models 폴더 참조하기 위해 using
 
public class HomeController : Controller
{
     public ActionResult Index()
     {
         // Model의 User 클래스 참조하여 user1 객체 생성 데이터 삽입
         var user1 = new User()
         {
             UserNo = 1, UserName = "김삿갓", UserAge = 77
         };
 
         // ======== Controller에서 View로 데이터 넘기는 방법 ========
         /* 
          2. View()는 건들지 않고 ViewBag 사용
             ViewBag은 Object처럼 Dynamic하게 객체 등 모든 타입들 다 가능
          */
          ViewBag.User = user1;
 
          /*
           3. ViewData 방식(객체 담길 수 없음)
              단순 데이터만 가능 string, int 등
          */
          ViewData["UserName"= user1.UserName;
          ViewData["UserAge"= user1.UserAge;
 
          // 1. View()에다가 넘기는 방법
          return View(user1);
     }
}
cs


1
2
3
4
5
6
7
8
9
10
11
12
@* 1번의 방법으로 사용 *@
<h3>유저 이름 : @Model.UserName</h3>
<h3>유저 이름 : @Model.UserAge</h3>
 
@* 2번의 방법으로 사용 *@
<h4>유저 이름 : @ViewBag.User.UserName</h4>
<h4>유저 나이 : @ViewBag.User.UserAge</h4>
 
@* 3번의 방법으로 사용 *@
<h5>유저 이름 : @ViewData["UserName"]</h5>
<h5>유저 나이 : @ViewData["UserAge"]</h5>
 
cs