2010-06-30 3 views
0

나는 내 Index.aspx이를 사용ASP.NET MVC 2 팝업 대화 - 성능과 이상한 행동

<%= Html.StandardOverlayCreateButton() %> 
<div class="apple_overlay" id="overlay"> 
    <div class="contentWrap"> 
    </div> 
</div> 

어떤이로 번역되어

<a href="Employee/Create" rel="#overlay"><button type="button">Create</button></a> 
<div class="apple_overlay" id="overlay"> 
    <div class="contentWrap"> 
    </div> 
</div> 

당신은 버튼을 누르면 Create.aspx 팝업이 발생합니다. 이것 좀 봐 ->Loading external pages into overlay

나를 위해 그것은 오버레이 성능이 느린 것 같습니다.

그리고 내가 거의 항상 팝업의 이전 값을 볼 수 있기 때문에 이상한 행동이 있습니다. 편집 버튼을 클릭하고 팝업을 닫고 다른 편집 버튼을 클릭하면 짧은 시간 동안 이전 값을 볼 수 있습니다.

ASP.NET MVC 및 jQuery를 사용하여 팝업을 수행하는 더 나은 방법이 있습니까?

자습서가 있습니까?

답변

1

모든 것이 성능이 자바 스크립트와 jQuery를 코드와 같은 ASP.NET MVC와 같은 서버 측 코드와는 아무 아래로 순전히 때문에 클라이언트 측을 수행하고있다.

팝업과 함께 꽤 정교한 효과를 사용하고 있습니다. 애니메이션, 투명도, 그림자, 작품 크기를 조정하는 <div />이 있습니다. 자바 스크립트 성능은 최근 브라우저의 도약과 한계에 부딪 히지 만, 성능은 뛰어나지 만 매우 사치스러운 시각 효과를 내기에는 여전히 느립니다. 사용중인 모든 모달 팝업 자바 스크립트 라이브러리로 시각 효과를 조정 해 보았습니다.

"그리고 나는 거의 매번 팝업에 이전 값을 볼 수 있기 때문에 몇 가지 이상한 행동, 이있다. 내가 편집 버튼을 클릭 한 다음 팝업을 닫고 다른 편집 버튼을 클릭하면, I 시간의 오래된 값을 볼 수 있습니다. "

팝업은 'Employee/Create'페이지를 가리키는 iframe을 실제로로드한다고 가정합니다. 내 생각 엔 팝업이 닫히고 다시 다른 페이지로 다시 열리면 이전 페이지가 계속 팝업의 iframe에 표시되고 "load-new-page/url"이벤트가 ' 팝업이 다시 나타날 때까지 해고 당했기 때문에 이전 페이지가 왜 아주 짧게 보입니까?

비슷한 문제가 있었지만 모달 팝업 동작을 약간 조정하여 새 페이지를 먼저로드 한 다음 현재 진행중인 다른 방법 대신 팝업을 엽니 다. . 이것에 대한 나의 해결책은 iframe 내부의 페이지가 $ (document) .ready ({})를 가지고 있다는 점에서 조금 해킹되었다. 이벤트는 팝업을로드하기위한 iframe의 부모 JavaScript 함수를 호출합니다. 예.iframe을 내부에 앉아 페이지에 넣고 :

<script type="text/javascript"> 

    $(document).ready(function() 
    { 
     window.parent.openPopup(); 
    }); 

</script> 

는 그런 다음 'openPopup를() 정의 할 필요가 iframe이 부모의 자바 스크립트 방법 (즉, 메인 페이지 목록 귀하의 기록.).

+0

IFrame이 없습니다. 모든 것은 Ajax를 통해 이루어집니다. – Rookian

0

Look here - 다른 게시물이지만 답변은 MVC & jQuery에 관한 질문과 관련이 있습니다.