asp.net-mvc-3 – 如何在控制器方法的新选项卡中打开cshtml文件?

前端之家收集整理的这篇文章主要介绍了asp.net-mvc-3 – 如何在控制器方法的新选项卡中打开cshtml文件?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在做一个Nopcommerce,并且需要生成发票(定制不像他们已经提供的,因为它不能解决我们的目的).我们需要生成发票
在新的选项卡(使用另一个cshtml文件)使用控制器的方法也我正在传递模型数据视图.
<tr>
        <td class="adminTitle">
            @Html.NopLabelFor(model => model.ProbableDeliveryDate):
        </td>
        <td class="adminData">
            @Html.EditorFor(model=>model.ProbableDeliveryDate)
        </td>
        </tr>
        <tr>
            <td>
            @if(Model.CanGenrateInvoice)
            {
                 <input type="submit" name="generateinvoice" value="@T("Admin.Orders.Fields.generateinvoice")" id="generateinvoice" class="adminButton"  />
            }
            </td>
        </tr>

我必须发布数据以获取值为可能的传递日期到控制器方法,之后要打开视图在新的选项卡.

我该怎么办?

解决方法

如果您通过Html.ActionLink从第一页获取操作,您可以这样做:
Html.ActionLink("Open Invoice","ActionName","ControllerName",new { id = Model.InvoiceID },new { target = "_blank" });

指定target =“_blank”将在新选项卡中打开

更新

由于您将模型发布到控制器(我希望RedirectToAction可以帮助打开一个新的窗口/选项卡,但不是这样)

我的疯狂感觉正在刺激你的流动…这只是我,但我会做一些不同的事情,如

>将模型发布到控制器
>保存生成发票的数据
>将InvoiceID返回到操作
>将InvoiceID添加到模型中
>发送模型回到视图
>通知用户
>发票已生成,并显示如上所述的链接,允许用户打开发票或
>这提供了完美的清洁解决方案来显示模型错误,如果有的话

您的看法可能有一块剃刀代码

@{
    if(Model.InvoiceID != null && Model.InvoiceID !=0) {
        @Html.ActionLink("Open Invoice",new { target = "_blank" });
    } 
}

猜你在找的asp.Net相关文章