在一个视图(view1)中有一个文本框和旁边的按钮。 我点击那个按钮,我弹出另一个视图(创建视图)作为一个单独的窗口。 在创建视图中,我输入一些值并在db中创建记录。出于这些 值一个值我必须发送回“View1”。我怎么能发送这个值...?
我正在从view1打开view2,如
<input type="button" value="Get ID"
onclick="window.open('<%=Url.Action("Create","Controller1") %>',
'','scrollbars=yes,width=800,height=800,resizable=yes');"
/>
View2包含一些字段,如姓名,电子邮件等......我点击“创建”来调用HTTPPOST。在那里我将值添加到db包括生成的guid。我想将此ID发送到view1。
答案 0 :(得分:1)
如果这些不在同一窗口中,则没有直接的方法。
但是,当您弹出第二个窗口时,您可以使用AJAX开始轮询数据库,并且在创建视图中完成数据库更改后,您的轮询将返回该值并更新视图。
这既不是MVC也不是ASP.NET问题。
答案 1 :(得分:0)
另一种选择是使用javascript 在view1
...
var popup = window.open("view2");
popup.opener = this
...
window.updateData = function(newValue){
alert(newValue);
}
在view2中
window.opener.updateData(form.inputname.value);
=============================================== =========
更新:
在问题中添加了进一步的信息之后,我认为这个选项不会很容易,并且使用Aliostad答案会更容易。