문제가 발생했습니다.jquery로 부분 뷰 렌더링
나는 클라이언트 측 메시지와 그리드 뷰를 처리하기 위해 두 개의 부분 뷰 하나의 뷰를 가지고있다.
gridview는 양식이며 업데이트 항목을 삭제할 수 있습니다. 오류/성공 메시지를 삭제하거나 업데이트 할 때 tempdata에서 생성되지만 그리드 partialview만이 actionresult 함수에서 렌더링됩니다.
데이터가 이미 tempData에 있으므로 아무 것도 게시하거나 컨트롤러로 리디렉션하지 않고 메시지를 부분 뷰로 렌더링하는 방법이 필요합니다.
보기 :
<div id="page-KnownRecipient">
@Html.Partial("ClientSideMessages")
@Html.Partial("_TabsPartial")
@if(Model != null)
{
using (Html.BeginForm())
{
@Html.Partial("_EditModePartial", Model);//Grid
}
}
</div>
있는 gridview의 모든 콜백 라우팅 그냥 partialview EditModePartial 및 반환 VIEW는 "ClientSideMessages"에 표시되어야 부분은/업데이트 콜백을 삭제 한 후 렌더링되지 않습니다 메시지를 다시로드되지 않습니다 때문이다. 그래서 그에 따라 jquery를 사용하여 "ClientSideMessages"partialview를 렌더링하는 방법이 필요합니다. 새 데이터는 partialview의 실제 렌더링에만 필요합니다.
// ---- 다음과 같이 끝납니다.
보기;
<div id="detailsDiv">
@Html.Partial("ClientSideMessages")
</div>
컨트롤러;
public ActionResult StatusMessages()
{
return PartialView("ClientSideMessages");
}
JS;
function getStatusMessages() {
var sURL = "/Home/StatusMessages"; // Just put the function in some base controller
var $detailDiv = $('#detailsDiv');
$.get(sURL, function (data) {
$detailDiv.html(data);
});
}
감사합니다. 당신은 jQuery를 사용하여
@Html.Partial("ClientSideMessages")
렌더링하려면
귀하의 질문이 명확하지 않습니다. 이미 렌더링 된 마크 업을 숨기고 표시하고 싶습니까? –
그리드의 업데이트/삭제 기능에서 말하는 "새 데이터"는 없습니다. 따라서 msgs 부분을 실제로 다시 렌더링해야합니다. – SomeRandomName