1

첫 번째 질문에서 두 가지 질문이 있습니다. C# 코드 (컨트롤러)의 excetpion이 View (오류보기) 그것을 특정 div로 표시하십시오. .error에서 뷰를 가져 오는 방법은 무엇입니까? ? HTMLjquery를 사용하여 ASP.NET MVC에서 예외 관리

<div><a href="#" class="MnuCustomerList">List</a></div> 

jQuery를

$(".MnuCustomerList").click(function() { 
    var jqxhr = $.post("/Customer/List", function (data) { 
     $('#rightcolumn').html(data); 
    }) 
    .success(function() { alert("success"); }) 
    .error(function() { alert("error"); }) 
    .complete(function() { alert("complete"); }); 
}) 

;

public PartialViewResult List() 
{ 
    throw new Exception("myexception"); 
    return PartialView("List"); 
} 

두 번째 질문 : 컨트롤러

코드가 이미 존재하는 경우 예 CustomerException ("코드가 존재") 만약 내가 컨트롤러에서 양식

@model MyModel 
@using (Html.BeginForm("Save", "Customer", FormMethod.Post)) 
{ 
    <table style="width:100%;"> 
    <tr> 
     <td>Code</td> 
     <td>@Html.TextBoxFor(m => m.Customer.Code, new { id = "tbCode" })</td> 
    </tr> 
    <tr> 
     <td>LastName</td> 
     <td>@Html.TextBoxFor(m => m.Customer.LastName, new { id = "tb", maxlength = 50, style = "width:40%;" })</td> 
    </tr> 
    <tr> 
     <td colspan="2"><input type="submit" value="A submit button"/></td> 
    </tr> 
    </table> 
} 

이 , 나는 확인합니다.

내 질문

, 그것은 가능한 jQuery를 사용하지만 여전히의 모델에 의미와

$.ajax({ 
    type: "POST", 
    url: "/Customer/Save", 
    data: { 
     id: $('#Id').val(), 
     firstName: $('#FirstName').val(), 
     lastName: $('#LastName').val(), 
     isEnable: $('#IsEnable').attr('checked')   
    }, 
    success: function (html) { 
     $("#ContentDataSection").html(html); 
    }, 
    error: function (XMLHttpRequest, textStatus, errorThrown) { } 
}); 

감사합니다 아래의 예제처럼 하나 개의 값으로 하나 개의 값을 얻을이 형식을 사용하여이 양식을 게시 할

답변

6
입니다

ajax 요청을 만들 때 오류가 발생하는 경우에만 오류 콜백이 실행됩니다. 서버 측에서 오류가 발생하면 실패한 서버 측이 있음을 알리고 성공 콜백에서이를 처리하는 데이터를 클라이언트에 전달해야합니다 (Json 형식으로 선택하는 것이 좋음).

컨트롤러 조치 : :

public ActionResult FiveHundred() 
{ 
    Response.StatusCode = 500; 
    return Json(new {Error = "Uh oh!"}); 
} 

자바 스크립트 :

$.ajax({ 
    url: "/home/fivehundred", 
    type: "POST", 
    success: function(data) { 
     // handle normally 
    }, 
    error: function(data) { 
     alert("error " + data.Error); 
    } 
}); 

편집 때문에이 다시 라이언의 의견에 따라 오류 호출로 처리 할 수있는 500 응답 코드를 설정하는 방법을 보여주는 코드를 추가합니다

+0

양식을 게시 할 때 코드가 있는지 ik가 있는지 확인합니다. 1. 클라이언트 측에 메시지 표시 2.이 두 번째 지점에 대한 게시를 중지 할 수 있습니까? –

+0

항상 상태 코드를 500 (또는 다른 오류 코드)으로 설정하여 오류 콜백을 트리거하여 json 응답을 처리 할 수 ​​있습니다. – Ryan

+0

@ Ryan이 방법을 구현하는 샘플이 있습니까? –

관련 문제