使用JavaScript在新窗口中打开重定向操作

4

我有一个 [post] 操作,它返回 Redirect(url)。我想在新标签页中打开此响应。

2个回答

3

是否必须使用JavaScript?

@using (Html.BeginForm("Action","Controller",FormMethod.Post, new { target = "_blank" }))
{
    <input type="submit" value="clickme"/>
}

你正在重定向到另一个操作方法吗? - Daniel Conde Marin
在重定向中,您可以放置任何操作方法名称。 - Pritam
那为什么我的回答没有帮助呢? - Daniel Conde Marin

1

Html:

@using (Html.BeginForm("Action", "Controller", FormMethod.Post))
{
    <button id="aButton" >Submit</button>
}

Javascript使用jQuery:

$('#aButton').click(function (event) {
        event.preventDefault();
        var form = $(this).parent('form');
        form.attr('target', '_blank');
        form.submit();
    });

这样,您可以保留操作不变,如果您想提交其他表单变量,只要在表单中包含它们即可。
以上解决方案无需干扰,即使禁用了JavaScript也能正常工作。

<input type="button" title="Submit" value="Confirmed" onclick="location.href='@Url.Action("", "", new { targe="_blank" })'" /> - Pritam
这是最简单的解决方案之一。 - Pritam
这是最简单的方法,但它也是具有侵入性的,并将您的HTML与JavaScript绑定在一起。上述解决方案不仅是非侵入式的,而且如果禁用JavaScript也不会出现问题。@Pritam - hutchonoid

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接