2014-06-16 7 views
1

asp.net mvc 응용 프로그램이 있습니다. 아약스 게시물로 부분을 다시로드해야합니다.Ajax Asp.Net MVC 부분 뷰 업데이트

<button data-url='@Url.Action("GetErrors", "Interface", new { servers = "S97EGESRV01" })' 
      class="js-reload-details"> 
     Reload 
    </button> 
    <div id="errorListDiv"> 

     @Html.Partial("~/Views/Partials/_ErrorListPartial.cshtml", Model.Errors) 
    </div> 

자바 스크립트 :

$('.js-reload-details').on('click', function (evt) { 
    evt.preventDefault(); 
    evt.stopPropagation(); 

    var errorListDiv = $('#errorListDiv'); 
    var url = $(this).data("Interface/GetErrors?servers=S97EGESRV01"); 

    $.get(url, function (data) { 
     errorListDiv.replaceWith(data); 
    }); 
}); 

C 번호 :

public ActionResult HatalariGetir(string servers= "All", InterfaceViewModel interfaceModel = null) 
{ 
if (interfaceModel == null) { 
    interfaceModel = new InterfaceViewModel(); 
} 
// Some database processes 
List<ErrorViewModel> modelList = new List<ErrorViewModel>(); 
// Populating modelList 
interfaceModel.Errors = modelList; 
return View("~/Views/Partials/_ErrorListPartial.cshtml", interfaceModel.Errors); 
} 

하지만 클릭 "새로 고침"때 일이 버튼은 전체 페이지가로드 된 다음 주 화면 안에 내 cshtml 코드는 inside errorListDiv. 부분 뷰가 아닙니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까?

편집

:

return PartialView("~/Views/Partials/_ErrorListPartial.cshtml", interfaceModel.Errors); 

불행히도 결과는 동일합니다 나는이 시도했다.

+0

중복 가능성 [asp.net MVC 부분보기 제어 동작 (http://stackoverflow.com/questions/1371031/asp-net-mvc-partial-view : 뷰의 상부에 줄을 추가함으로써 -controller-action) –

+0

왜 경로를보기로 전달해야합니까? – TheNorthWes

+0

사실 나는 필요가 없습니다. 그러나 그렇지 않은 경우 결과는 동일합니다. –

답변

2

보기 파일에 추가하십시오.

@{ 
    Layout = null; 
} 
1

실제로 당신의 부분보기가 부분보기처럼 작동하지 않습니다, 그것은 전체보기로 마스터 레이아웃 렌더링, 그래서 당신이 필요로하는 것은 명시 적으로 마스터 레이아웃을 사용하지 않는 뷰에서 얘기입니다

@{ 


Layout = null; 

}