【问题标题】:Open New tab from code behind in Asp.net MVC在 Asp.net MVC 中从后面的代码打开新选项卡
【发布时间】:2014-09-03 17:53:17
【问题描述】:

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

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

【问题讨论】:

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


    【解决方案1】:

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

    FormsAuthenticationReturnUrl 属性似乎可以满足您的需求。当用户需要登录时,会被重定向到登录页面,登录后会被重定向回来。

    如果您大量使用 javascript 和 ajax,并且想保留当前页面的 javascript 变量但需要登录进行 ajax 调用,可能还有其他解决方案。如果您的 ajax 调用的响应是未经身份验证的标头,请打开一个灯箱或类似的带有用户名和密码字段的东西。使用 ajax 发布到 AccountController 以再次登录用户。这样,用户再次通过身份验证,但您保留了 javascript 变量。

    【讨论】:

      【解决方案2】:

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

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

      希望它有效。

      【讨论】:

        【解决方案3】:

        如果您从表单调用操作并使用提交的输入类型,您可以尝试 &lt;input type="submit" formtarget="_blank" /&gt; 如果你使用链接&lt;a&gt; 或 AjaxCall 你可以试试 &lt;a target="_blank"&gt;&lt;/a&gt; 或在 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 />
                }
        

        controller.cs

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

        【讨论】:

          猜你喜欢
          • 2013-02-13
          • 1970-01-01
          • 2015-06-29
          • 2013-09-17
          • 1970-01-01
          • 2015-11-14
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多