내가보기에 데이터를 전달하는 컨트롤러가 : ID가 내가 세부에 빈 또는 오류보기 및 전달되지 않은 데이터를 반환하고자 그 강력하게 형식화되어 볼 것 유효하지ASPNET.MVC에서 빈보기를 반환하는 방법?
public ViewResult Details(int id)
경우 및 도착할 수없는 데이터를 대기합니다.
어떻게 일반 오류보기를 처리 할 수 있습니까?
내가보기에 데이터를 전달하는 컨트롤러가 : ID가 내가 세부에 빈 또는 오류보기 및 전달되지 않은 데이터를 반환하고자 그 강력하게 형식화되어 볼 것 유효하지ASPNET.MVC에서 빈보기를 반환하는 방법?
public ViewResult Details(int id)
경우 및 도착할 수없는 데이터를 대기합니다.
어떻게 일반 오류보기를 처리 할 수 있습니까?
실제 컨트롤러가 상속 한 기본 컨트롤러에는 오류 동작이 있습니다. 입력이 유효성 검증에 실패하면,보기에 표시 될 오류 메시지 텍스트를 전달하는 오류 조!로 재 지정하십시오. 이렇게하면 모든 컨트롤러 작업에서 표준 오류보기를 사용할 수 있습니다.
당신은 당신이 좋아하는 어떤보기로 리디렉션 수 :
return View("Error", "This is a error message");
위의 코드는 Error.cshtml보기로 리디렉션 메시지와 함께 문자열을 전달합니다. 필요에 따라
그냥 오류보기를 반환 :
if(// id is invalid)
{
return View("MyErrorView");
}
를 ID가 유효하지 않은 경우, 빈 내용을 반환하지 않는, 즉 실제로 HTTP 상태 404에 대한 일반적인 이야기 - MVC, 당신은 처리 할 수 - 찾을 수 없음 그것과 같은, 쉽게 : 대안으로
if (IdIsInvalid(id))
return HttpNotFound();
, 당신은
throw new HttpException(404, "NotFound");
를 호출하고 처리 할 수 있습니다 404 오류 세계적으로, 당신의 web.config에 설정을 가진 예를 들면 :
<configuration>
<system.web>
<customErrors mode="On">
<error statusCode="404" redirect="~/NotFound"/>
</customErrors>
</system.web>
의 Web.config를 통해 전 세계적으로 오류를 처리하는 문제는 클라이언트가 아니라 302 (리디렉션)을 받고 끝나는 것입니다 원하는 404 (찾지 못했습니다.) 그러나 나는 적절한 HTTP 코드를 사용하는 것이 좋은 접근 방식입니다 동의합니다. –