source

Ajax를 사용하여 부분 뷰 렌더링

manysource 2023. 8. 23. 21:51

Ajax를 사용하여 부분 뷰 렌더링

는 이 질문을 확인했고 그것은 저의 초기 문제를 해결했습니다.그러나 사용자가 링크를 클릭할 때만 부분 보기가 렌더링되는 것이 아니라 페이지가 로드될 때 부분 보기를 렌더링하고 부분 보기가 로드되는 동안 진행 표시기를 표시하고 싶습니다.

어떻게 그것을 달성할 수 있을까요?

이 글을 읽어주셔서 감사합니다.

페이지를 로드한 다음 Ajax를 통해 부분 보기를 로드하려면 다음을 생성할 수 있습니다.ActionMethod다음과 같은 작업을 수행합니다.

public ActionResult Create()
{
     var model = new MyModel();

     if (Request.IsAjaxRequest())
     {
          return PartialView( "_Partial", model.PartialModel );
     }
     else
     {
          return View( model );
     } 
}

그런 다음 페이지에서 다음과 같은 작업을 수행합니다.

$(function(){

    $(document).ajaxStart(function () {
        //show a progress modal of your choosing
        showProgressModal('loading');
    });
    $(document).ajaxStop(function () {
        //hide it
        hideProgressModal();
    });

    $.ajax({
          url: '/controller/create',
          dataType: 'html',
          success: function(data) {
             $('#myPartialContainer').html(data);
          }
    });
});

컨트롤러

public ActionResult GetModule(string partialName){
    return PartialView("~/Views/Shared/"+partialName);
}

기본 페이지(jquery ajax 작업 사용)

<div id='mod1'>Loading...</div>
<script type="text/javascript">
            $("#mod1").load("/ControllerName/GetModule?partialName=test1");         
</script>

처음 페이지에 작성하여 렌더링할 수 있습니다.@Html.Partial(...).

언급URL : https://stackoverflow.com/questions/7430976/rendering-partial-views-using-ajax