RmcbainTheThird Ответов: 1

Откройте url-адрес в том же окне


У меня есть метод (в C#), который должен открыть URL-адрес в том же окне, но вместо этого он открывает url-адрес в новой вкладке
public static void OpenSameWindow(string url)
    {
        string cmd = @"<script>window.open('{0}','_self',false);</script>";
        System.Web.HttpContext.Current.Response.Write(string.Format(cmd, url));
    }


Все, что я прочитал, указывает на то, что это правильное решение, но оно всегда открывается в новой вкладке. Есть какие-нибудь мысли?

Что я уже пробовал:

Response.Redirect("somepage.aspx",true);

rver.Transfer("somepage.aspx");

F-ES Sitecore

Ответ.Перенаправление должно сработать. Если это не так, то есть что-то в вашем коде, о чем Вы нам не говорите, например, что он вызывается ajax или что-то в этом роде.

RmcbainTheThird

Это то, что я думал также. Все это заложено в коде ... нет ajax нет JS любого рода
охраняемых недействительными MenuClick(объект отправителя, система.EventArgs e)
{
Кнопка clickedButton = (кнопка) отправитель;
//Ответ.Перенаправление(clickedButton.CommandArgument,true);
// WebUtilities.OpenSameWindow(clickedButton.CommandArgument);


//Сервер.Передача(clickedButton.CommandArgument);
}

public static void OpenSameWindow(string url)
{
окно строку команду cmd = @".открыть('{0}','отдел обслуживания клиентов Tel',ложные);";

Системы.Веб.Свойство HttpContext.Тока.Ответ.Write(строка.Формат(cmd, url));
}

RmcbainTheThird

И действительно, это была ошибка программиста :) найденная в голове моего aspx-файла: <base target="_blank"/>

1 Ответов

Рейтинг:
12

Vincent Maverick Durano

Как уже упоминалось, Response.Redirect должно сработать, если вы просто хотите перейти на ту же страницу окна.

То ASP.NET Button серверное управление будет отображаться следующим образом type="submit"...Вспомнив OnClick мероприятие будет submit то form, и результат перезагрузки страницы, которая сталкивается с вашей попыткой использования window.open с _self. Вы можете просто добавить type="button" атрибут к кнопке, чтобы предотвратить это. Кроме того, вы можете рассмотреть возможность использования window.location.href вместо: Расположение Окна JavaScript[^]