我需要一个简洁,干净的方式来实现这个在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