有没有办法在新窗口中从控制器操作打开视图?
public ActionResult NewWindow()
{
// some code
return View();
}
Run Code Online (Sandbox Code Playgroud)
如何在新的浏览器选项卡中打开NewWindow.cshtml视图?
我知道如何从视图中的链接做到这一点 - 这不是问题.有没有人想出一种方法从控制器动作做到这一点?
Tom*_*mmy 73
这不能在控制器本身内完成,而是从您的视图中完成.在我看来,你有两个选择:
使用"_blank"属性装饰链接(使用HTML帮助程序和直接HMTL语法的示例)
@Html.ActionLink("linkText", "Action", new {controller="Controller"}, new {target="_blank"})<a href="@Url.Action("Action", "Controller")" target="_blank">Link Text</a>使用Javascript打开一个新窗口
window.open("Link URL")
Jef*_*eck 38
您也可以在表单中使用Tommy的方法:
@using (Html.BeginForm("Action", "Controller", FormMethod.Get, new { target = "_blank" }))
{
//code
}
Run Code Online (Sandbox Code Playgroud)
你问的是错误的问题.代码隐藏(控制器)与前端的作用无关.事实上,这是MVC的优势 - 您将代码/概念与视图分开.
如果您希望在新窗口中打开操作,则指向该操作的链接需要告知浏览器在单击时打开新窗口.
一个伪示例: <a href="NewWindow" target="_new">Click Me</a>
这就是它的全部内容.设置指向该操作的链接的目标.