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

时间:2010-11-16 13:49:52

标签: asp.net-mvc

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

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

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

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

2 个答案:

答案 0 :(得分:32)

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

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

答案 1 :(得分:4)

正如NickLarsen所说......

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

<form action="/controller/action" method="post" target="_blank">

或者

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