0

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

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

4

3 回答 3

2

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

ReturnUrl属性FormsAuthentication似乎做你想做的事。当用户需要登录时,他们会被重定向到登录页面,登录后他们会被重定向回来。

如果您正在大量使用 javascript 和 ajax,并且想要保留当前页面的 javascript 变量但需要登录来执行 ajax 调用,那么可能还有另一种解决方案。如果您的 ajax 调用的响应是未经身份验证的标头,请打开一个灯箱或类似的带有用户名和密码字段的东西。使用 ajax postAccountController再次登录用户。这样,用户将再次通过身份验证,但您保留 javascript 变量。

于 2012-04-04T07:30:30.050 回答
1

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

这是我的代码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 />
        }

控制器.cs

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

    }
于 2014-09-03T09:45:51.750 回答
1

这只能使用 javascript 来完成。尝试这个。

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

希望它有效。

于 2012-04-05T06:37:53.807 回答