ViewData는 문자열을 키로 저장하고 검색하는 객체의 사전입니다. 컨트롤러에서 뷰로 데이터를 전송하는 데 사용됩니다. ViewData는 사전이기 때문에 각 키가 문자열이어야 하는 키-값 쌍을 포함합니다. ViewData는 컨트롤러에서 뷰로 데이터만 전송하며 그 반대로는 전송하지 않습니다. 현재 요청 중에만 유효합니다.
ViewData에 데이터 저장 -
ViewData["countries"] = countriesList;
ViewData에서 데이터 검색 -
string country = ViewData["MyCountry"].ToString();
ViewData는 컴파일 시간 오류 검사를 제공하지 않습니다. 예를 들어 키 이름의 철자를 틀리면 컴파일 시간 오류가 발생하지 않습니다. 런타임 시에만 오류에 대해 알게 됩니다.
컨트롤러
예시
using System.Collections.Generic; using System.Web.Mvc; namespace DemoMvcApplication.Controllers{ public class HomeController : Controller{ public ViewResult Index(){ ViewData["Countries"] = new List<string>{ "India", "Malaysia", "Dubai", "USA", "UK" }; return View(); } } }
보기
@{ ViewBag.Title = "Countries List"; } <h2>Countries List</h2> <ul> @foreach(string country in (List<string>)ViewData["Countries"]){ <li>@country</li> } </ul>
출력