我需要在Asp.net MVC中的代码中打开新选项卡中的另一个站点。
返回重定向(“Url”);用于在同一选项卡中打开另一个站点。
答案 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");
}