Asp.net MVC Как открыть новое окно из контроллера - PullRequest
3 голосов
/ 24 октября 2011

Итак, у меня есть сценарий, в котором я хочу вернуть свой ActionResult ... Return View ("ViewName", "MasterPageName", модель);во всплывающем окне определенного размера я могу передать ...

EG:

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?

спасибо заранее.

Ответы [ 4 ]

2 голосов
/ 24 октября 2011

Ничего нельзя сделать на стороне сервера, но вы можете украсить свои ссылки действий, как

<%= Html.ActionLink("Pop Up", "PopUp", null, new {target="_blank"}) %>
0 голосов
/ 22 апреля 2012

Может быть, вы можете попробовать динамически загрузить визуализированный вид, используя jQuery.load()

0 голосов
/ 24 октября 2011

Это не то, что вы действительно можете сделать с вашего контроллера, так как это код, который выполняется на сервере в результате запроса http и возвращает ответ той или иной формы.Вам нужно будет сделать это на клиенте, возможно, используя javascript или, в качестве альтернативы, вы можете вызвать действие вашего контроллера и указать целевой атрибут тега как '_blank'.

0 голосов
/ 24 октября 2011

Вы не можете манипулировать браузером на стороне клиента из контроллера на стороне сервера.То, что вы можете сделать, это вывести скрипт в вашем возвращенном представлении или вызвать контроллер, который возвращает данные через вызов AJAX и всплывающее окно со стороны клиента.

...