2013-03-07 3 views
1

등록 페이지가 있다고 가정 해보십시오. "이름"및 "이메일"입력 상자 만있는 간단한보기입니다. 사용자가 세부 사항을 제출하면 컨트롤러는 데이터베이스에 사용자를 작성한 다음 (동일한)보기를 리턴합니다.프로세스가 성공적으로 완료되었는지 확인하려면 어떻게해야합니까?

이제 동일한보기가 반환되므로보기가 프로세스가 성공했음을 감지해야합니다. 나는. 약간 다른 것을 보이게하려면 뷰에 뭔가를 다시 전달해야합니다. 페이지는 기본적으로 동일하지만 입력 상자 대신 "성공적으로 등록되었습니다"라는 텍스트가 있습니다. 이 작업을 수행하는

한 가지 방법 : 해당 변수에 해당하는 경우

ViewBag.RegistrationWasSuccessful = True 

그런 다음보기에 간단하게 한 후 "성공"텍스트를 표시, 확인하십시오.

또 다른 방법은 모델에 추가하는 것입니다

Function Registration(ByVal model as RegistrationView) As ActionResult 
    If ModelState.IsValid Then 
     model.RegistrationWasSuccessful = True 
    End If 
    Return View(model) 
End Function 

다시 말하지만, 그 변수가 true 있는지 확인하십시오.

양식이 성공적으로 완료되었는지 확인하는 가장 좋은 방법은 무엇입니까? 위의 방법은 약간 추한 것 같습니다.

답변

3

프로세스 성공/실패에 따라 성공 또는 실패 메시지를 표시하는 가장 깨끗하고 쉬운 방법을 찾고 있다면 대신 ViewBag에 메시지를 추가하고보기에 성공 또는 실패 메시지를 게시하는 것이 좋습니다. 당신의 컨트롤러보기 표시

<span> @ViewBag.RegistrationMessage </span> 
+0

에서

if processSuccess == true ViewBag.RegistrationMessage = "Success" else ViewBag.RegistrationMessage = "Failure" 

에서

무엇 입력 상자가 표시되지 어떻습니까? 거기에 If ​​문이 필요할거야? 아마도 {ViewBag.Registration = "Success"}일까요? –

+0

@RowanFreeman, 나는 그 부분을 놓쳐 버렸음에 틀림 없어. 나는 혼란을 피하는 것에 집중했다. 당신은 그 조건문을 돌아 다니지 않을 것입니다 ... 당신은 당신의 Viewbag 또는 Partial에 넣을 수 있습니다. 그러나 나는 그렇게 멀리하지 않는 것이 좋습니다. 유연성이있는 어수선 함이 올 것입니다. 내가 청결한 견해를 갈구하는만큼, 그들은 조금 지저분해질 것이다. –

+0

Dave에게 감사드립니다. 그래, 그 지저분한 것을 피하려고 애썼다. 저는보기에 조건문이 있고 약간 다르게 표시하는 것이 싫습니다. ViewBag를 계속 사용하겠습니다. –

관련 문제