我需要一個簡潔,乾淨的方式來實現這個在asp.net mvc(+/- jquery或js)?如何從html彈出返回值
用戶單擊webform A中的元素; Webform B彈出; 用戶與網絡表單B進行交互; 關閉webform B,可能通過提交按鈕,webform a中的源元素更新爲webform B的值。
謝謝。
我需要一個簡潔,乾淨的方式來實現這個在asp.net mvc(+/- jquery或js)?如何從html彈出返回值
用戶單擊webform A中的元素; Webform B彈出; 用戶與網絡表單B進行交互; 關閉webform B,可能通過提交按鈕,webform a中的源元素更新爲webform B的值。
謝謝。
在ASP.NET MVC中,如果內容取決於在初始頁面上選擇的值,我可能會在頁面上呈現DIV,最初隱藏起來,可能通過AJAX。我會使用jQuery UI對話框插件來彈出對話框。該對話框可以包含一個提交回服務器的表單。您也可以使用對話框的onclose處理程序來複制對話框中輸入的值,以便在頁面的其餘部分使用。如果您通過AJAX填充對話框,您可以讓服務器生成HTML - 例如通過渲染局部視圖並返回它 - 或者返回json並在瀏覽器中動態生成對話框。
我使用過cookies。我發現這是做這件事唯一可靠的方法。我使用的是灰盒爲我的對話,所以我必須在對話框中的功能,看起來像這樣:
function selectValue(id, name) {
SetCookie("_someuniqueprefix_RetID", id);
SetCookie("_someuniqueprefix_RetValue", name);
parent.parent.GB_CURRENT.hide();
}
然後在我的調用頁面,我推出,顯示部分的灰盒的對話框:
$(function() {
var selectUrl = '/_somecontroller/Select';
// attach a method to the chooseButton to go and get a list of
// contact persons to select from
$("#chooseButton").click(function() {
GB_showCenter('Select My thing', selectUrl, 500, 620, function() {
var id = GetCookie("_someuniqueprefix_RetID");
var value = GetCookie("_someuniqueprefix_RetValue");
DeleteCookie("_someuniqueprefix_RetID", "/", "");
DeleteCookie("_someuniqueprefix_RetValue", "/", "");
$("#MyID").val(id);
$("#MyName").val(value);
});
});
});
而且你需要抓住一個功能關閉網頁的setCookie方法和的getCookie
希望幫助
您可以使用JavaScript從彈出窗口調用F在opener上通過window.opener進行操作。因此,當用戶單擊提交按鈕時,您的彈出窗口可以調用父頁面上的功能以將數據傳回。
我不確定你的要求是什麼,但IMO使用ajax聽起來像是矯枉過正。如果你需要的只是傳遞給opener webform的彈出webform的一些表單數據,那麼就不需要打電話給服務器。
等待。 MVC或Webforms?選一個。 Webforms將做iframe /回發意大利麪條。 MVC更有可能通過ajax提交併在父級調用回調。 – 2009-02-07 12:38:57