关于c#:Asp.net MVC如何从控制器打开新窗口

Asp.net MVC How To Open New Window From Controller

所以我有一种情况,我想返回我的ActionResult ... Return View(" ViewName "," MasterPageName ",model);在特定大小的弹出窗口中,我可以通过...

E.G。:

1
2
3
4
5
6
7
public ActionResult PopUp()
{
  //do some work...

  //I want this returned in a popup window/modal dialog of some sort...
  return View("ViewName","MasterPageName",model);
}

从asp.net mvc中的控制器完成此操作的合理方法是什么?

预先感谢。


在服务器端无法完成任何操作,但是您可以修饰动作链接,例如

1
<%= Html.ActionLink("Pop Up","PopUp", null, new {target="_blank"}) %>


这不是您真正可以从控制器执行的操作,因为这是作为HTTP请求的结果在服务器上执行并返回某种形式的响应的代码。您可能需要使用javascript在客户端上执行此操作,或者您可以调用控制器操作并将标记的目标属性指定为'_blank'。


您不能从服务器端的Controller操作客户端浏览器。您可以做的是在返回的视图中输出脚本,或者调用通过AJAX调用返回数据并从客户端弹出窗口的控制器。


也许您可以尝试使用jQuery.load()

动态加载渲染的视图