Откройте новую вкладку из кода позади в Asp.net MVC

Мне нужно открыть другой сайт в новой вкладке из кода в Asp.net MVC.

вернуть перенаправление("URL"); используется для открытия другого сайта на той же вкладке.


person yogeswaran K    schedule 04.04.2012    source источник


Ответы (3)


На самом деле это не кажется практичным для пользователей, потому что после аутентификации на второй вкладке им приходится обновлять первую вкладку, чтобы увидеть эффекты.

Свойство ReturnUrl для FormsAuthentication, кажется, делает то, что вы хотите. Когда пользователю необходимо войти в систему, он перенаправляется на страницу входа, а после входа — обратно.

Если вы широко используете javascript и ajax и хотите сохранить переменные javascript текущей страницы, но вам нужно войти в систему для выполнения вызовов ajax, может быть другое решение. Если ответом на ваш вызов ajax является неаутентифицированный заголовок, откройте лайтбокс или что-то подобное с полем имени пользователя и пароля. Используйте сообщение ajax для AccountController, чтобы снова войти в систему. Таким образом, пользователь снова аутентифицируется, но вы сохраняете переменные javascript.

person Jesse van Assen    schedule 04.04.2012

Это можно сделать только с помощью javascript. Попробуй это.

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

Надеюсь, что это работает.

person Hemesh Singh    schedule 05.04.2012

если вы вызываете действие из формы и используете тип ввода для отправки, вы можете попробовать <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");

    }
person Alexandr    schedule 03.09.2014