将值从操作方法传递到查看它的位置

时间:2011-03-03 13:40:58

标签: asp.net-mvc

在一个视图(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。

2 个答案:

答案 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答案会更容易。