【问题标题】:Open Redirect Action in new window with javascript使用 javascript 在新窗口中打开重定向操作
【发布时间】:2013-12-04 11:29:16
【问题描述】:

我有一个返回 Redirect(url) 的 [post] 操作。我想在新标签页中打开这个回复。

【问题讨论】:

    标签: javascript asp.net asp.net-mvc asp.net-mvc-3 asp.net-mvc-4


    【解决方案1】:

    是否必须使用 javascript? :

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

    【讨论】:

    • 您是否正在重定向到另一个操作方法?
    • 是的,在重定向中,您可以输入任何操作方法名称。
    • 那为什么我的回答没有帮助?
    【解决方案2】:

    HTML:

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

    使用 jQuery 的 Javascript:

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

    这样您就可以保留您的操作,如果您想提交其他表单变量,您可以将它们包含在您的表单中。

    上述解决方案不显眼,并且在禁用 javascript 时有效。

    【讨论】:

    • 这是最简单的一种解决方案。
    • 这是最简单的,但它也是侵入性的,并将您的 html 与您的 javascript 联系起来。上述解决方案不仅不引人注目,而且在禁用 javascript 时也不会中断。 @Pritam
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-17
    • 1970-01-01
    • 2014-08-01
    相关资源
    最近更新 更多