我正在使用相当常见的模式 - 页面打开一个子窗口(弹出窗口),其中表单允许用户编辑信息(创建新的用户帐户)。控制器验证弹出窗口的提交,并抛出错误消息或提交更新。如果更新_is已提交,则用户不再需要弹出窗口。
我需要向控制器添加代码1)在弹出窗口中激活javascript函数(self.close();)并且2)将值返回到父窗口。 (用户已创建...新用户的ID = foo)
答案 0 :(得分:0)
您可以让窗口将数据发布到控制器操作,该操作可以返回指示用户已成功提交的JsonResult。
在弹出窗口上调用self.close()之前,您可以通过opener寻址弹出窗口的父级 - 在弹出弹出窗口的页面上公开公共函数或公共属性,子窗口可以设置它的价值。如果你有一个暴露的功能,让页面更新自己让用户继续使用会更清晰。
答案 1 :(得分:0)
快速执行此操作的方法是创建一个成功视图,如果用户的创建成功,则会返回该视图。
此视图可以接收新创建的用户,并具有所需的JavaScript以将数据传递回父窗口并关闭弹出窗口。然后,您可以将用户ID注入View代码中的JavaScript。