使用html格式的asp mvc的新窗口

czu*_*ski 10 asp.net-mvc

我正在构建一个用于报告的mvc应用程序.我有一个页面,上面有一个表单,其中包含多个下拉列表,可以为报表选择一些标准.然后我有一个输入按钮来创建报告.此按钮从同一控制器调用新视图.新视图从参数中选择条件的页面中获取值,并使用它来填充其自己的视图模型.这一切都很好.

我想在新窗口中打开报告.当我查看控制器时,应该来自选择页面的所有参数都为空.我假设我必须通过查询字符串传递这些来由控制器拾取.有没有办法可以从我的视图中获取下拉列表的值来构造查询字符串?

这是完成我想要做的事情的好方法吗?我会更好地使用ActionLink而不是输入按钮吗?它有什么不同吗?

我希望这一切都有道理.谢谢你的任何想法.

Nic*_*sen 34

只需target在表单上设置一个属性_blank,它就应该在新的页面/标签中打开请求,具体取决于所使用的浏览器.

<% using (Html.BeginForm(myAction, myController, FormMethod.Post, new { target = "_blank" })
   { %>
       <%-- ... --%>
<% } %>
Run Code Online (Sandbox Code Playgroud)


Dav*_*enn 5

正如尼克拉森所说...

您可以使用target="_blank"form元素的属性在新窗口中显示结果。

<form action="/controller/action" method="post" target="_blank">
Run Code Online (Sandbox Code Playgroud)

要么

<% Html.BeginForm("action", "controller", FormMethod.Post, new { target="_blank" }); %>
  //...
<% Html.EndForm(); %>
Run Code Online (Sandbox Code Playgroud)