[ASP.NET MVC] 4-5 Razor Syntax, Controller에서 View로 데이터 전달 정리

BruteForceA·2022년 6월 28일
1
post-thumbnail

개발환경

  • Visual Studio Community 2017
  • ASP.NET Core 2.2



Razor Syntax란?

ASP.NET에서 View를 동적으로 생성할 수 있는 기술 또는 구문이다. .cshtml 확장자로 만들어진다.


사용법

  • @ 기호 사용
  • if, for, foreach 구문 사용가능
  • (string) -> (int), ToString(), 타입변환은 가능 하지만 연산은 불가능하다.

이런식으로 사용 할 수 있다.



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

데이터 전달하는 방식

Models : user.cs

public class User{
 //사용자 번호
 public int No {get; set;}
 // 사용자 이름
 public string UserName{get; set;}
}

Contorllers : HomeController.cs

public class HomeController : Controller
{
    //http://www.example.com/Home/Index
    public IActionResult Index()
     {
        var hongUser = new User
        {
        UserNo = 1,
        UserName = "홍길동"
        };
    return View(hongUser);
      }
    public IActionResult Error()
    {
        return View();
    }
  }
}



Views : Index.cshtml


1. View(Model)

형식객체를 View 템플릿에 전달 할 수 있도록 해준다.





2. ViewBag

  • Dynamic Object로 되어 있고 직관적으로 사용 할 수 있다.
  • 형식을 자동으로 유추하기 때문에 형 변환이 필요없다.
  • 닷넷 프레임웍 3.5부터 사용가능




3. ViewData

딕셔너리(Dictionary) 컬랙션으로 되어 있고 ViewBag에 비해 속도가 더 빠르다.
값이 Object로 나오기 때문에 형 변환을 해야 한다. 객체는 넘기지 못한다.






4.템프데이터(TempData)

  • 뷰데이터와 같은 특성을 가지고 있습니다.
  • 값이 세션에 임시저장되어 리디렉션이 발생해도 값이 유지 됩니다.




참조

0개의 댓글