2010-01-26 6 views
3

현재 Jquery SimpleModal을 사용하여 로그온 대화 상자와 같은 내 사이트에서 다양한 대화 상자를 사용하고 있습니다.jQuery SimpleModal 및 Ajax.BeginForm Helper를 사용하는 ASP.NET MVC

저는 Ajax.BeginForm 도우미도하고 있습니다.

지금 모든 것을 내가 알아야 할 내가 사용자가에서 로깅에서 사점이었다 가까운 모달 말을해야 할 것입니다 ..

내가 설정과 같은 몇 가지를 시도, 좋은 작품과를 제외한 모든 tempdata 값 등 .. 그런 다음 jquery를 통해 모달을 닫거나 리디렉션을 수행하기 위해 단순히 windows.location을 수행하는지 확인합니다. 그러면 모달이 사라집니다.

단순히 redirectoAction을 수행하면이 모드에서 리디렉션 된 동작 내용을 채우는 데는 URL이 반환됩니다.

도움 주셔서 감사합니다. 많이 abliged.

업데이트 : 사용자가 하나 단지 클라이언트 측 유효성 검사가 작동하지 않는 아무것도 입력하지 않고 제출 안타 때 사점가, 지금에 문제를 겪고 그러나 어떤 것은 때 모달을 닫도록 알았어하여 사용자는 모달을 제외한 모달을 구성하는보기로 리디렉션됩니다. 기본적으로 나머지 사이트가없는보기입니다.

올바른 정보를 입력 할 때까지 모달을 유지하는 방법에 대한 아이디어가 있으십니까?

+2

하나의 JS 프레임 워크를 사용하면 쉽습니다. Ajax Extensions를 사용하는 것과는 대조적으로 jQuery에서 Ajax 로그인을 수행하면 로그인에 콜백을 연결하고 콜백을 숨기거나 제거하거나 리다이렉트 할 수 있습니다. – Aaronaught

+0

클라이언트 측 유효성 검사가 작동하지 않는다고 말하면 어떻게됩니까? – Fermin

+0

기본적으로 유효성 검사기는 양식 제출을 통해 보냅니다. 이 같은 유효성 검사기는 다른 곳에서 작동하므로 아무 문제가 없다는 것을 알고 있습니다. – dswatik

답변

1

그냥 수동으로 닫으시겠습니까?

, 당신의 모달가 iframe 내에 가정 나는 전체에 jQuery를 사용하는 것이 더 간단 할 것이라고 이전 의견에 동의

$('#modal',top.document).remove() 
2

을한다.

나는 당신이 무엇을했는지 달성하는 가장 좋은 방법은 AjaxForm의 OnSuccess에 가까운 대화 상자 기능을 연결하는 것이라고 생각한다.

<% using(Ajax.BeginForm("UpdateForm", 
     new AjaxOptions{OnSuccess="CloseModal()"})) { %> 

이 도움이

function CloseModal() { $.modal.close(); } 

희망을 호출 할 수있는 간단한 모달을 닫습니다.