从Asp.net MVC中的代码打开新选项卡

时间:2012-04-04 07:03:19

标签: asp.net-mvc asp.net-mvc-3 asp.net-mvc-2

我需要在Asp.net MVC中的代码中打开新选项卡中的另一个站点。

返回重定向(“Url”);用于在同一选项卡中打开另一个站点。

3 个答案:

答案 0 :(得分:2)

对于用户来说这似乎并不实际,因为在第二个选项卡中进行身份验证后,他们必须刷新第一个选项卡才能看到效果。

ReturnUrl的{​​{1}}属性似乎可以满足您的需求。当用户需要登录时,会将其重定向到登录页面,登录后会将其重定向回来。

如果你正在广泛使用javascript和ajax,并且想要保留当前页面的javascript变量但需要登录来执行ajax调用,那么可能还有另一种解决方案。如果您的ajax调用的响应是未经身份验证的标头,请使用用户名和密码字段打开灯箱或类似的内容。使用ajax帖子到FormsAuthentication再次登录用户。这样,用户再次进行身份验证,但您保留了javascript变量。

答案 1 :(得分:1)

这可以仅使用javascript来完成。试试这个。

<% Response.Write '<script type="text/javascript"> window.open(url); </script>' %>

希望它有效。

答案 2 :(得分:1)

如果您从表单调用操作并使用提交的输入类型,您可以尝试  <input type="submit" formtarget="_blank" /> 如果您使用链接<a>或AjaxCall,您可以尝试  <a target="_blank"></a>或在ajax帮助器设置属性 @target =&#34; _blank&#34;

这是我的代码  CSHTML

 @using (Html.BeginForm("PersonsReport", "Reports"))
        {
            <br />
            <div style="text-align: center;">
                <input type="submit" formtarget="_blank" class="btn btn-primary" value="GetReport" style="width:100%;" />
            </div>
            <br />
        }

controller.cs

 public ActionResult PersonsReport()
    {
        return Redirect("/PersonsReport.aspx");

    }