1

MVC를 처음 사용 (WebForms에서 2 년). 예상대로MVC3 : 로그인 할 수 없습니다. 로그인을 사용하여 Index.cshtml에 대한 로그인 오류 메시지가 표시됩니다. PartialView

@Html.Action("LogOnPartial") 

사용자 이름 또는 암호가 잘못된 경우는, 호출 방법은이 선에 도달 할 것 : 나는 다음과 같이 내 Index.cshtml에 PartialView를 사용하여 로그인을 구현하기 위해 노력하고

ModelState.AddModelError("", "The user name or password provided is incorrect."); 

그것 때문에

// If we got this far, something failed, redisplay form 
return View("Index", model); 

다음 Index.cshtml 다음 호출 @ Html.Action ("LogOnPartia : 나는 '잘못된'항목을 보여주기 위해 다음과 같이 Index.cshtml 다시 모델을 부분보기 통과한다 제공되는 사용자 이름이나 암호 잘못 "L"예상대로

[HttpPost] 
public ActionResult LogOnPartial(LogOnModel model) 
{ 
    return PartialView(model); 
} 

렌더링 후, '잘못된'항목이 텍스트 상자에 남아 있지만 위의 오류 메시지), 차례로이 트리거 ". 표시되지 않습니다. 위의 방법으로 오류 메시지가 전달되지 않은 것 같습니다.

부분보기에서 돌아올 때 오류 메시지를 표시하려면 어떻게해야합니까?

감사합니다.


감사 마크, 귀하의 제안은 매우 도움이됩니다. 원래 나는 이미 LogOnPartial.cshtml의 끝에 @Html.ValidationSummary()를 포함했지만 어떻게 든 Index.cshtml에 오류 메시지가 표시되지 않았습니다. 다음과 같이 지금은 Index.cshtml에 @를 Html.ValidationSummary을() 이동 :

@Html.Action("LogOnPartial") 
@Html.ValidationSummary(true, "Login was unsuccessful. Please correct the errors and try again.") 

을 지금은 작품을 좋아하고 내가 로그인 오류 메시지를 볼 수 있습니다.

그러나 이제는 또 다른 문제가 있습니다. Index.cshtml에는 두 가지 부분 뷰가 있습니다. 하나는 LogOnPartial.cshtml 용이고 다른 하나는 SignUpPartial.cshtml 용입니다 (WebForms로 작성된 www.iguardpayroll.com을 살펴보고 왼쪽 열에 두 개의 상자가 있음을 볼 수 있습니다 : 하나 로그인 용이고 다른 하나는 가입 용입니다).

@ Html.Action ("LogOnPartial") 바로 아래에 @ Html.ValidationSummary()를 추가하는 것 외에도 @ Html.Action ("SignUpPartial") 아래에 추가해야합니다. 가입 프로세스로 인해 발생한 오류 메시지 (예 : 전자 메일이 이미 있음)! 그러나 그렇게하면 동일한 LogOn 오류 메시지가 LogOn 부분과 SignUp 부분 아래에 두 번 나타납니다.

<div> 
     @Html.Action("LogOnPartial") 
     @Html.ValidationSummary(true, "Login was unsuccessful. Please correct the errors and try again.") 
    </div> 
    <div> 
     @Html.Action("SignUpPartial") 
     @Html.ValidationSummary(true, "Sign Up was unsuccessful. Please correct the errors and try again.") 
    </div> 

는 어떻게이 @ Html.ValidationSummary()는 LogOnPartial와 관련된 오류 메시지가 표시됩니다 첫 말할 수 있고, 둘째는 @ Html.ValidationSummary()에만 가입하기 오류 메시지가 표시?

+0

어디에서 오류 메시지가 표시되지 않습니까? 검증 요약에서? – VJAI

답변

0

모델 유효성 오류를 표시하려면 양식 내에 @Html.ValidationSummary()을 사용해야합니다.

Ex.

@using(Html.BeginForm()) 
{ 
    @Html.ValidationSummary() 
    .. fields 
} 
관련 문제