올바르게 작동하지 않는 코드가 있습니다. 나는 실종 된 것이 있다는 것을 확신하지만, 너무 오래 전에 머리를 맞 now고 아무데도 가지 못하고있다. 내가 ThePartial.cshtml를 포함하는 마이 페이지의 하위 디렉토리를 가지고 diretory 내보기에PartialView 메서드는 Null을 반환합니다 (보기를 전혀 호출하지 않는 것 같습니다).
[HttpPost]
public PartialViewResult GetPartial(string MyID)
{
return PartialView("ThePartial");
}
: 여기에 MyPageController.cs의 행동이
$.ajax({
type: 'POST',
url: '@Url.Action("GetPartial", "MyPage")',
async: true,
data: {
MyID: 'ABC123'
},
error: function (jqXHR, textStatus, errorThrown) {
alert('Error loading partial for ' + MyId + '\n\n' + jqXHR + '-' + textStatus + '-' + errorThrown);
}
}).done(function (result) {
$(data).html(result);
});
:
다음은 AJAX 호출입니다.
나는 그 cshtml에 중단 점을 넣었으며 호출 될 것 같지 않습니다.
[HttpPost]
public PartialViewResult GetPartial(string MyID)
{
PartialViewResult pView = PartialView("ThePartial");
return pView;
}
다음 "반환"줄에 중단 점을 넣고 PVIEW의 내용을보고 :
은 또한, 나는 PartialView가 약간 내 액션 코드를 변경하여 비어 있음을 확인했습니다.
다음은 부분보기의 축약 된 버전입니다.
@model MyProject.Models.MyModel // There is a breakpoint here
@{
var x = "testing"; // There is a breakpoint here
x += " 123"; // There is a breakpoint here
}
<div>@x</div>
실제로 중단 된 첫 번째, 세 번째 및 네 번째 줄에 중단 점을 설정했습니다.
부분적으로 동작에 포함되지 않은 데이터 모델을 참조하지만 실제 버전에서는 모델이 사용된다는 사실을 알고 있습니다. 나는 모델이 문제가 어디에 있지 않다고 생각하여 짧게 유지하기 위해이 게시물에서 삭제했습니다. 실제 PartialView 호출은 다음과 같습니다.
MyData myData = MyModel.GetData(MyID);
PartialViewResult pView = PartialView("ThePartial", myData);
나는 완전히 잃어 버렸고 어떤 도움을 주셔서 감사합니다.
부분보기의 목록을 추가 할 수 있습니까? – alexmac
위 코드에서 데이터 모델에 대한 참조가 제거되었으므로 부분 뷰는별로 의미가 없습니다.하지만 내가 할 수있는 것을 추가 할 것이다. – ESDictor
디버그의 pView가 null입니까? PartialViewResult를 ActionResult로 변경하고 부분 뷰가 아닌 다른 뷰를 렌더링하려고 시도 할 수 있습니다. – alexmac