1 | public ActionResult ViewInfo(string memId, CommonModel param) |
상세화면 -> 수정화면 -> 수정완료 -> 다시 상세화면 이라는 시나리오상에서 void형 EditProc Controller를 사용했지만 실제로 프로시저에서는 @returnValue 라는 int형 결과를 리턴 하는 상황입니다 Model에서 부터 out Parameter로 결과를 받는 변수를 받아왔으며 실제 EditProc Controller는1
return RedirectToAction("ViewInfo", new { memId = dto.memId, viewParam = param });
를 리턴 합니다, 이때 ViewBag으로 결과값을 유지할 줄…알았습니다 이게 저에게는 애매한 부분 이었어서 TempData로 경했던 과정과 이유를 남겨놓습니다.
html bootstrap template 같은 거 찾아보면 1회 휘발성 notification box 등을 많이 제공하더라고요 PHP나 Classic ASP같은거로 작업한다고 하면 catch처리를 했던 기억이 있네요…왜 그렇게 무식하게 했었을까요….그게 더 공수가 들어갔거든요..
각설하고 View.cshtml에서1
resultNum TempData : @TempData["resultNum"]
이렇게 TempData를 호출하면 새로고침시 정보가 사라지는 현상을 볼 수 있습니다…
여기서 TempData의 구간은 Controller <-> Controller 이렇게 명시되어 있습니다, ViewBag, ViewData와는 확실히 용도가 분리되어 있습니다.
TempData.Keep 등으로 생명 주기를 연장도 가능합니다, 그런데..특별한 사유가 아니라면 사용할 일이 없어 보이네요.
사실 말이 거창합니다만..
아래와 같은 시나리오 입니다..->