Notice
Recent Posts
Recent Comments
Tags
- swagger 500 error
- 강제이동
- ASP.Net Core 404
- 하드 마이그레이션
- 말줄임표시
- simpe ftp
- 하드 윈도우 복사
- javascript 바코드 생성
- 원격ftp
- XSS방어
- 바코드 생성하기
- 404에러페이지
- ViewData
- asp.net Select
- XSS PHP
- SSD 복사
- asp.net dropdownlist
- 바코드 스캔하기
- Mac Oracle
- ViewBag
- php 캐쉬제거
- asp ftp
- asp.net core swagger
- TempData
- 맥 오라클설치
- 타임피커
- asp.net core Select
- django 엑셀불러오기
- jquery 바코드생성
- javascript redirection
웹개발자의 기지개
[ASP.NET Core MVC] ViewData, ViewBag, TempData 비교 본문
ASP.NET/ASP.NET Core
[ASP.NET Core MVC] ViewData, ViewBag, TempData 비교
http://portfolio.wonpaper.net 2022. 10. 21. 06:17Controller 에서 View 로 데이터 이동시에 ViewData 와 ViewBag 이 주로 이용되는데,
ViewBag 은 ViewData 와 거짐 같은넘이다. ViewBag 은 형변환이 필요없는 Dynamic 한 형태이며, ViewData 의 Wrapper 이다.
ViewData 와 TempData 는 key와 value 값을 가지는 Dictionary 형태이며, 형변환이 필요하다.
TempData 는 연이은 request 간의 데이터 이동시에 이루어지는데, 한번 설정되고 다음에서 읽여질때 일시적으로만 이용되고 바로 소멸되는 간단한 세션형태의 놈이다.
그래서 삭제처리 Controller 에서 DB 레코드를 삭제하고 이를 삭제하였다는 알림메세지를 간단히 다음 request 페이지에 표시해줄때 유용하게 쓸수 있다.
[ ViewData 참고예제 ]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
//Controller Code
public ActionResult Index()
{
List<string> Student = new List<string>();
Student.Add("Jignesh");
Student.Add("Tejas");
Student.Add("Rakesh");
ViewData["Student"] = Student;
return View();
}
//page code
<ul>
<% foreach (var student in ViewData["Student"] as List<string>)
{ %>
<li><%: student%></li>
<% } %>
</ul>
|
cs |
[ ViewBag 참고예제 ]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
//Controller Code
public ActionResult Index()
{
List<string> Student = new List<string>();
Student.Add("Jignesh");
Student.Add("Tejas");
Student.Add("Rakesh");
ViewBag.Student = Student;
return View();
}
//page code
<ul>
<% foreach (var student in ViewBag.Student)
{ %>
<li><%: student%></li>
<% } %>
</ul>
|
cs |
[ TempData 참고예제 ]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
//Controller Code
public ActionResult Index()
{
List<string> Student = new List<string>();
Student.Add("Jignesh");
Student.Add("Tejas");
Student.Add("Rakesh");
TempData["Student"] = Student;
return View();
}
//page code
<ul>
<% foreach (var student in TempData["Student"] as List<string>)
{ %>
<li><%: student%></li>
<% } %>
</ul>
|
cs |
참고 : https://www.c-sharpcorner.com/blogs/viewdata-vs-viewbag-vs-tempdata-in-mvc1
'ASP.NET > ASP.NET Core' 카테고리의 다른 글
[ASP.NET Core MVC] 두개의 Select문 만들기 (시도, 구군 주소 선택하기) - Dapper 이용 (0) | 2022.12.12 |
---|---|
[ASP.NET Core MVC] DTO (Data Transfer Object) 알아보기 (0) | 2022.10.30 |
[ASP.Net Core MVC] Area 형태로 묶어서 사용하기 (0) | 2022.09.16 |
[ASP.Net Core MVC] 앱프로젝트 재시작없이 페이지 변경 자동 새로고침 Razor.RuntimeCompilation (0) | 2022.09.16 |
[ASP.Net Core MVC] Entity Framework Core 1 - 다대다관계 (0) | 2022.06.04 |