2015-02-24 54 views
0

由於我是MVC5新手,我可能會錯誤地考慮這個問題。調用操作方法,關閉對話框並刷新父

我有一個CustomerInfo.cshtml視圖,它列出了CustomerContacts。在他們旁邊是一個'+'圖標,它將打開一個對話窗口並允許他們添加一個新的CustomerContact。

在對話框打開時,我調用CustomerContactController創建GET方法(將customerId設置爲傳遞給我的模型並將其傳遞給視圖)。

保存我打電話給CustomerContactController創建POST方法設置值並保存到數據庫。

此時我該如何關閉對話窗口並刷新父CustomerInfo.cshtml頁面,以便新聯繫人將出現在列表中。所有的Action方法都要求我返回一些東西。

我從CustomerInfo.cshtml打開我的對話框中查看這樣的:

@(Html.Kendo().Window() 
    .Name("windowContact") 
    .Title("New Customer Contact") 
    .LoadContentFrom("Create", "CustomerContact", new { customerId = Model.Id }) 
    .Draggable() 
    .Width(680) 
    .Visible(false) 
    .Events(events => events.Open("centerWindow")) 
) 

在對話窗口中我有一個剃鬚刀形式。這裏是對話框的底部:

  <input type="submit" value="Save" id="btnSave" class="btn btn-primary" /> 
      <input type="button" value="Cancel" id="btnCancel" class="btn btn-default" /> 
} 

<script> 
    $("#btnCancel").click(function() { 
     $("#windowContact").data("kendoWindow").close(); 
    }); 
</script> 

這是我目前正在做的,它帶我回到CustomerInfo視圖,但刷新。唯一能順利使用AJAX的方法嗎?

return RedirectToAction("CustomerInfo", "Customer", new { id = custContact.CustomerId }); 
+0

你可以發佈你的代碼嗎?打開對話框?你正在使用哪個對話框? – 2015-02-24 06:12:04

+0

使'CustomerInfo.cshtml'成爲局部視圖,只要添加新客戶並關閉對話框,就可以在jQuery Ajax調用的幫助下再次加載CustomerInfo.cshtml部分。 – 2015-02-24 06:14:00

+0

我發佈了我的代碼。我設置了我的取消按鈕,但在保存時,我不知道在創建POST操作被調用並且聯繫人保存到數據庫後該怎麼辦。 – JTunney 2015-02-24 06:15:48

回答

0

通過jQuery Ajax發佈創建視圖的表單數據。喜歡:

$.ajax({ 
    url: '/Create/CustomerContact', 
    type: 'post', 
    contentType: "application/x-www-form-urlencoded", 
    data: $form.serialize(), 
    success: function (data, status) { 
    // here close the window and refresh parent 
    // if your new window is opened in iframe 
    window.parent.location.reload(); 
    $("#windowContact").data("kendoWindow").close(); 

    // if your new window is opened by window.open() method. 
    window.opener.location.reload(); 
    self.close(); 
    }, 
    error: function (xhr, desc, err) { 
    alert("Desc: " + desc + "\nErr:" + err); 
    } 
}); 

希望它適合你,謝謝。

相關問題