2014-12-16 2 views
-1

함수를 처리하는 동안로드 메시지 또는 그래픽을 표시 할 수 있습니까?MVC 4 - 메시지 또는 그래픽로드 중

현재보기를 반환하기 전에 모든 기능을 수행하는 컨트롤러가 있습니다. 그러나이 기능의 일부로 ServerXMLHTTP 프로세스가 포함되어 있으므로 타사 서버에 연결하는 동안 30 초 이상 걸릴 수 있습니다. 이것은 사용자가 xmlHttp.readyState이 완료되기를 기다리는 동안 빈 화면을 관찰하는 사용자에게는 분명히 이상적이지 않습니다.

어떤 도움이 많이이 페이지 사이에 자신을 삽입하는 자바 스크립트 로딩 페이지의 예입니다

답변

0

나는이 솔루션이 내가 필요로하는 것을 위해 완벽하게 작동한다는 것을 발견했다. 가장 유용한 점은 http://blog.michaelckennedy.net/2012/11/13/improve-perceived-performance-of-asp-net-mvc-websites-with-async-partialviews/을 보아라.

0

:-) 감사하겠습니다. 이 코드는로드되기 전에 페이지에 배치됩니다. 내 검색어를 제출하는 간단한 제출 버튼을 사용했습니다. 당신은 여기에서 아약스로드 지프를 얻을 수 있습니다 : 사용자가 제출 버튼을 클릭

http://www.ajaxload.info/

<div id="divLoading" style="margin: 0px; padding: 0px; position: fixed; right: 0px; 
top: 0px; width: 100%; height: 100%; background-color: #666666; z-index: 30001; 
opacity: .8; filter: alpha(opacity=70);display:none"> 
    <p style="position: absolute; top: 30%; left: 45%; color: White;"> 
     Loading, please wait...<img src="../../Content/themes/base/images/ajax-loading.gif"> 
    </p> 
</div> 

<button type="submit" class="btn btn-success" onclick="JavascriptFunction()"value="filter" name="searchQuery">SUBMIT</button> 

<script type="text/javascript" language="javascript"> 
function JavascriptFunction() { 
    var url = '@Url.Action("PostMethod", "Home")'; 
    $("#divLoading").show(); 
    $.post(url, null, 
      function (data) { 
       $("#PID")[0].innerHTML = data; 
       $("#divLoading").hide(); 
      }); 
} 
</script> 

기본적 때 다음 방법/데이터 /보기가로드 될 때까지 로더가 나타납니다.

+0

고맙습니다.하지만 사용자 상호 작용이없는 페이지가 필요합니다. – iggyweb

+0

Gotcha. 이로드 예제는 사용자가 (onclick = "")와 같이 단추를 클릭 할 때 발생합니다. JavascriptFunction() 코드를 호출하는 한 어디서나 JavaScript 코드를 사용할 수 있습니다. –

+1

감사합니다.하지만 비동기 부분보기 솔루션을 사용했습니다. – iggyweb