2010-01-26 62 views
3

我有一些情況我目前正在使用JQuery SimpleModal做我的網站上的各種對話框,例如登錄對話框。ASP.NET MVC與jQuery SimpleModal和Ajax.BeginForm幫助

我也在做一個Ajax.BeginForm助手。

現在一切都很正常,而且幾乎什麼我需要知道的是什麼,我需要做的,說近的時候,用戶是在記錄SUCESSFUL模態..

我試着像設置的幾件事情一個tempdata值等等。然後檢查是否通過jquery關閉了模式,或者只是做一個windows.location來做一個重定向......然後模式就會消失。

如果我只是做一個redirectoAction它填充模態內的重定向的操作內容在這種情況下是他們返回的任何網址。

感謝您的幫助..很受歡迎。

更新:我得到了它,所以它關閉模式時SUCESSFUL,但是什麼我有一個問題,現在是當用戶要麼只是命中提交不作任何輸入客戶端驗證工作不和的用戶被重定向到組成該模式但沒有模式的視圖..所以基本上它只是沒有網站其餘部分的視圖。

有關如何在輸入正確信息之前將它們保持在該模式的任何想法?

+2

如果你堅持一個JS框架,它可能會更容易;如果你在jQuery中進行Ajax登錄,而不是使用Ajax Extensions,那麼你可以很容易地將回調掛鉤到登錄並使回調隱藏/刪除對話框,或者只是重定向。 – Aaronaught 2010-01-26 05:49:12

+0

當你說客戶端驗證不起作用時,發生了什麼? – Fermin 2010-02-12 19:05:24

+0

它不需要做什麼,基本上驗證者只是讓表單提交通過。這個驗證器在其他地方工作,所以我知道它沒有錯。 – dswatik 2010-02-13 15:39:22

回答

1

你不能手動關閉它嗎?

假設你的模式是一個iframe中,做

$('#modal',top.document).remove() 
2

我與先前的評論,這將是簡單的整個使用jQuery同意。

我相信實現你所追求的最好方法是將一個關閉對話框函數掛接到AjaxForm的OnSuccess。

<% using(Ajax.BeginForm("UpdateForm", 
     new AjaxOptions{OnSuccess="CloseModal()"})) { %> 

要關閉簡單模式,你可以撥打

function CloseModal() { $.modal.close(); } 

希望這有助於。