2013-04-12 2 views
0

사용자가 여러개의 동적으로 생성 된 체크 박스를 선택하고 전달 된 FormCollection의 모든 정보를 저장하는 컨트롤러에 폼을 제출할 수있는 모달을 호출 한 다음 RedirectToAction 모달을 호출하는 페이지로 이동합니다.mvc ajax 모달에서 제출

아직 양식에 물건을 저장하고 싶지만, 모달을 호출하는 페이지로 리디렉션하는 대신 모달을 유지하려고합니다.

모달

<script type="text/javascript"> 
// Close Modal when done. 
function CloseModal() { 
    $("#SkillModalWindow").modal("hide"); 
} 
</script> 

@using (Ajax.BeginForm("Save", "SkillGroup", null, new AjaxOptions 
{ 
    HttpMethod = "Post", 
    OnSuccess = "CloseModal" 
}, 
new { id = "CreateSkillGroups" })) 
{ 
@Html.ValidationSummary(true) 
@Html.Hidden("JobRoleId", (int)ViewBag.JobRoleID) 

<div class="modal-header"> 
    <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> 
    <h3 id="myModalLabel">Add New Skills to Job Role</h3> 
</div> 
<div class="modal-body" id="CreateModal">@Html.Partial("_Create")</div> 
<div class="modal-footer"> 
    <button class="btn" data-dismiss="modal" aria-hidden="true">Close</button> 
    <button type="submit" class="btn btn-primary">Save</button> 
</div> 
} 

Controllor 액션

[HttpPost] 
public ActionResult Save(FormCollection formCollection) 
{ 

foreach (var key in formCollection.AllKeys) 
{ 
    do stuff..... 

} 
return RedirectToAction("Index"); 

} 

답변

0

당신은 부분보기 모달 마크 업을 포함하는 대신 리디렉션 반환 할 수 :

[HttpPost] 
public ActionResult Save(FormCollection formCollection) 
{ 

    foreach (var key in formCollection.AllKeys) 
    { 
     do stuff..... 

    } 
    return PartialView("_Modal"); 
} 

Ajax.BeginForm 도우미가 작동하게하려면 jquery.unobtrusive-ajax.js 스크립트를 기본보기에 포함 시켰는지 확인하십시오.

+0

감사합니다. @DarinDimitrov, 치료를 마쳤습니다. – Tappies