Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

ASP.NET MVC C#에서 ViewBag 사용하는 방법 완벽 가이드

ViewBag란 무엇인가?

ViewBag은 C# 4.0에서 도입된 dynamic(동적) 기능을 활용하는 개체입니다. 이 기능을 사용하면 개체에 속성을 동적으로 추가할 수 있습니다. 내부적으로 ViewBag은 Controller 클래스의 기반 클래스인 ControllerBase 클래스가 가진 dynamic 타입의 속성입니다.

ViewBag은 데이터를 컨트롤러(Controller)에서 뷰(View)로 전달하는 용도로만 사용할 수 있으며, 그 반대 방향의 전달은 지원하지 않습니다. 또한 리다이렉션이 발생하면 ViewBag의 값은 null이 됩니다. ViewBag은 값을 동적으로 설정하고 가져올 수 있으며, 강력한 형식(strongly typed)으로 변환하지 않고도 원하는 수만큼 추가 필드를 자유롭게 넣을 수 있다는 장점이 있습니다.

ViewBag에 데이터 저장하기

ViewBag.Countries = countriesList;

ViewBag에서 데이터 읽어오기

string country = ViewBag.Countries;

컨트롤러(Controller) 예제

using System.Collections.Generic;
using System.Web.Mvc;
namespace DemoMvcApplication.Controllers{
    public class HomeController : Controller{
        public ViewResult Index(){
            ViewBag.Countries = new List<string>{
                "India",
                "Malaysia",
                "Dubai",
                "USA",
                "UK"
            };
            return View();
        }
    }
}

뷰(View) 예제

@{
    ViewBag.Title = "Countries List";
}
<h2>Countries List</h2>
<ul>
@foreach(string country in ViewBag.Countries){
    <li>@country</li>
}
</ul>

실행 결과

ASP.NET MVC C#에서 ViewBag 사용하는 방법 완벽 가이드