C#.NET Q&A

TempData 관련 질문드립니다. 튼튼 평점: 없음 조회: 246
안녕하세요, c# MVC로 코딩중인 초보 개발자입니다. 

Index.cshtml은 로그인을 하지 않아도 보여지는 페이지입니다.

로그인이 되어야 이용할 수 있는 Academic.cshtml 페이지로 이동하는 메뉴 클릭 시, 

public class ContentsController : Controller
    {
       public ActionResult Academic()
        {
            Contents contents = new Contents();
            Academic academic = new Academic();
            List<Academic> lsAcademic = new List<Academic>();
 
            lsAcademic = contents.GetAcademicList();
            academic.evi = lsAcademic;
 
            if (Session["ID"] == null)
            {
                TempData["message"] = "로그인 후 이용해주시기 바랍니다";
                Response.Redirect("../Home/Index");
            }
 
            return View(academic.evi);
        }
     }

를 거져, 세션이 없는 경우 위와 같이 처리됩니다. 

Index.cshtml은 컨트롤러에서 별도의 처리는 하고 있지 않으며, cshtml파일에서

@if (TempData.Peek("message") != null)
    {
        <script type="text/javascript">
            alert(@Html.Raw(Json.Encode(TempData["message"])));
        </script>
    }

위의 코드를 통해 Academic.cshtml에서 세션 체크로 리다이렉션된 경우, alert창을 보이도록 되어있습니다. 

문제는, 제일 처음 Index.cshtml로 프로젝트를 실행하여 로그인 하지 않고 Acadmic.cshtml로 이동하려 할때 

리다이렉션은 되지만 alert창은 띄워지지 않습니다. 

break point 걸어두고 확인해보니 초기 실행시에는 Tempdata가 null이지만, 

두번째 시도시때부터는 Tempdata가 잘 세팅되어 alert창과 리다이렉션이 정상적으로 실행됩니다. 

검색을 해보아도 왜 첫번째 시도시에만 Tempdata를 null로 인식하는지 잘 모르겠네요 ... ㅠㅠ



 

 
태그 : C#질문 TempData
작성자 정보
튼튼
Level 2
 [EXP.4/16]

메일:  비공개
글등록 +12 12 덧글등록 +3 0
자기소개
안녕하세요
글 공유하기 |
  tweet facebook
2020-01-03 오후 5:33:40
나도한마디
태그로 엮인글
[C#.NET Q&A] C++dll 사용시 에러  linuxgo
[C#.NET Q&A] 프린터 페이지 설정을 하고 싶습니다[2]+1 파일첨부 왕초보개발자
[C#.NET Q&A] c# MDI 폼 질문드립니다  닉순
[C#.NET Q&A] devexpress schedulerControl에서 포커스된 appointment정보 가져올 수 있나요  판다3
[C#.NET Q&A] Dictionary 질문드립니다. 꼭 부탁드립니다.[3]  복싱가이
[C#.NET Q&A] C# WinForm끼리 데이터 주고받기[1]+2  shdid
[C#.NET Q&A] 엄청나게 많은 동일한 형식의 조건문을 효율적으로 쓰는 방법이 있을까요?[2]  진화가필요해
[C#.NET Q&A] c# 질문드립니다 (FTP 다운로드관련)  플라티너스
[C#.NET Q&A] label 텍스트 연속값 입력 문의[2]  프로그레스
[C#.NET Q&A] c#에서 만든 datatable을 mssql로 넘기고싶습니다..[4]  삔또
글리스트
c#zedgraph 파일첨부 ksj
C++ 2차 배열 마샬링 문의  울이
C++dll 사용시 에러  linuxgo
프린터 페이지 설정을 하고 싶습니다[2]+1 파일첨부 왕초보개발자
 ★현재글->   TempData 관련 질문드립니다.   튼튼
WinForm 관련 UI 문의 드립니다.   물속세상
singleton 으로 만들어진 클래스의 정적필드는 어떤역할인가요?[1]+2  질문
datagridview1의 정보를 받아 행열 변환 상태로 datagridview 구현 파일첨부 하리
c# MDI 폼 질문드립니다  닉순
devexpress schedulerControl에서 포커스된 appointment정보 가져올 수 있나요  판다3
포인터가 포함된 함수를 C#으로 변환할 수 있는지요?[1] 파일첨부 고무랭이
클래스 간 효과적인 Event handler 사용 방법 문의[1] 파일첨부 고무랭이
트랜잭션 내에서 다른 트랜잭션 처리가 가능할까요??[1]+1  자크
Oracle ADO.Net 사용시 메모리 누수 발생 조언받고싶습니다  메로나
ref로 받은 datatable 데이터 변경 질문[1]+2  자크