2011-08-21 71 views
0

我有一個MVC 3一個jQuery模式窗體,我得到的數據回發到我的控制器,但不能讓對話框關閉後的形式提交 這裏是我的形式MVC模式窗體

@using (Ajax.BeginForm("CreateNewmODALs", "Finance", 
    new AjaxOptions 
    { 
     UpdateTargetId = "my-modal-dialog", 
     OnBegin = "Dialogs.CreateEvent.Updating()", 
     OnSuccess = "Dialogs.CreateEvent.Update({ title:'Select Friends' })" 
    }, 

     new 
     { 
      @class = "contactform" 
     } 
     )) 
{ 
    @Html.ValidationSummary(true) 


    <p> 
     <input type="submit" value="Create New mODAL" class="demo-button ui-state-default ui-corner-all" /> 
    </p> 

這裏是調用的形式進入模式

@Ajax.ActionLink(
         "Open New mODAL", 
         "ACTION", 
         "CONTROLLER", 
         null, 
         new AjaxOptions 
         { 
          UpdateTargetId = "my-modal-dialog", 
          OnBegin = "Dialogs.CreateEvent.Opening({id: 'my-modal-dialog'})", 
          OnSuccess = "Dialogs.CreateEvent.Open({title: 'Create Event'})" 
         }, 
         new 
         { 
          @class = "" 
         } 
        ) 

這裏我的動作鏈接是我控制器

public ActionResult CreateNewmODAL() 
{ 

    return PartialView("../PartialViews/Finance/Modal/NewmODAL", mODALViewModel); 
} 

// 
// POST: /Finance/Create 

[HttpPost] 
public void CreateNewmODAL(mODALContent mODALViewModel) 
{ 
    try 
    { 
     // TODO: Add insert logic here 

     //return RedirectToAction("Index","Home"); 
    } 
    catch 
    { 
     //return View(); 
    } 
} 

回答

1

當您從控制器返回時,您將控件轉到OnSuccess,OnError以及最終的OnComplete JavaScript方法。

在這些JavaScript函數,你需要明確關閉對話框。

<script type="text/javascript"> 
     function OnSuccess() { 
      alert('Close the dialog'); 
     } 
    </script> 
    @using (Ajax.BeginForm("CreateNewmODALs", "Finance", 
     new AjaxOptions 
      { 
      UpdateTargetId = "my-modal-dialog", 
      OnSuccess ="OnSuccess" } 
      , 
      new { id = "my-modal-dialog" })) 
     { 
     ... 
     }