Languege/C# & ASP.NET / / 2022. 2. 10. 10:47

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

컨트롤러에서 뷰로 데이터 전달

컨트롤러에서 뷰로 정보를 전달 하는 방법에 대해 알아보겠습니다. 컨트롤러 클래스는 URL 요청에 대한 응답으로 호출됩니다. 컨트롤러 클래스는 들어오는 브라우저 요청을 처리 하는 코드를 작성 하 고, 데이터베이스에서 데이터를 검색 하 고, 궁극적으로 브라우저에 다시 보낼 응답 유형을 결정 합니다. 

뷰는 비즈니스 로직을 수행하거나 DB와 직접 상호 작용하지 않아야 합니다.

https://docs.microsoft.com/ko-kr/aspnet/mvc/overview/getting-started/introduction/adding-a-view#passing-data-from-the-controller-to-the-view

 

MVC 앱에 뷰 추가

보기 추가 이 문서의 내용 --> Rick Anderson Note 이 자습서의 업데이트된 버전은 최신 버전의 Visual Studio사용하여 여기에서 사용할 수 있습니다. 새 자습서에서는 ASP.NET Core MVC를 사용하며, 이 자습서

docs.microsoft.com

 


1.ViewBag을 사용하는 방법

 

컨트롤러(HelloController의 Welcome 메소드)

using System.Web;
using System.Web.Mvc;

namespace MvcMovie.Controllers
{
    public class HelloWorldController : Controller
    {
        public ActionResult Index()
        {
            return View();
        }

        public ActionResult Welcome(string name, int numTimes = 1)
        {
        
        	//1번째 사용방법
            ViewBag.Message = "Hello " + name;
            ViewBag.NumTimes = numTimes;
            
            //2번째 사용방법
            Var example = new Example()
            example.Message = "Hello" + name;
            example.NumTimes = numTimes;
            ViewBag.Example = example;
            

            return View();
            
            //2번째 사용방법
            Var example = new Example
            {
            	Message = "Hello"+name;
                NumTimes = numTimes;
            }
            return View(example);
        }
    }
}

1.ViewBag에 Message와 NumTimes를 담아서 뷰로 전달시킨다.

 

Cshtml

@{
    ViewBag.Title = "Welcome";
}

<h2>Welcome</h2>

<ul>
    @for (int i = 0; i < ViewBag.NumTimes; i++)
    {
        <li>@ViewBag.Message</li>
        //모델에 담아 보낸 경우
        <li>@Model.Message</li>
    }
</ul>

2.Cshtml에서는 Razor Syntax를 통해 화면에 데이터를 전달

'Languege > C# & ASP.NET' 카테고리의 다른 글

[ASP.NET MVC] Razor Syntax 정리  (0) 2022.02.10
LINQ(Language-Integrated Query)  (0) 2022.01.24
프로 ASP.NET 1~6장 후기  (0) 2022.01.06
ASP .NET 시작하기  (0) 2022.01.03
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유