2010-02-14 3 views
0

jQuery의 UI 대화 상자를 사용하여 기본 양식을 엽니 다. 그 양식을 제출하고 대화 상자를 닫으 려합니다. 나는 문제가있다.ASP.NET MVC Dialog Stumped

부모 창은 클릭에서 부분보기가 포함 된 대화 상자를 열고 양식을 제출하면 브라우저가 브라우저에서 부분보기를 엽니 다. 양식 작업을 수행하고 대화 상자를 닫으려고합니다.

VIA Ajax.SubmitForm 또는 다른 방법을 사용하는 방법이 있습니까?

답변

0

나는 이상적인 해결책을 찾았고 이전에 그것을 풀 수 없다고 생각하지 못했습니다. AjaxOptions의 OnSuccess 기능을 사용하여 Ajax.BeginForm을 사용하기 만하면됩니다.

<% using (Ajax.BeginForm("Action", "Controller", new AjaxOptions { OnSuccess = "CloseDialog" })) { %> 
    <%= Html.Hidden("ID", ViewData["ID"]) %> 
    <input type="submit" value="Submit" /> 
<% } %> 

function CloseDialog() { 
    $("#ImageCropModal").dialog("close"); 
} 

보기를 다시 렌더링하지 않고 양식에 게시합니다. 양식 게시가 완료된 후에 수동으로 대화 상자를 닫을 수 있습니다.

0

폼의 onsubmit 이벤트를 캡처하고 Ajax를 통해 양식을 보내고 대화 상자를 닫은 다음 Return False 브라우저가 양식을 다시 제출하고 전체 페이지 다시 게시를하지 못하게해야합니다.