2011-08-21 70 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" })) 
     { 
     ... 
     }