Ответ. Перенаправление к новому окну

В Java все находится в форме класса.

Если вы хотите использовать любой объект, тогда у вас есть две фазы:

  1. Объявить
  2. Инициализация

Пример:

  • Объявление: Object a;
  • Инициализация: a=new Object();

То же самое для концепции массива

  • Объявление: Item i[]=new Item[5];
  • Инициализация: i[0]=new Item();

Если вы не дают секцию инициализации, тогда возникает NullpointerException.

118
задан hims056 30 November 2012 в 07:49
поделиться

7 ответов

Можно хотеть использовать Страницу. RegisterStartupScript, чтобы гарантировать, что JavaScript стреляет в загрузку страницы.

0
ответ дан CodeRot 24 November 2019 в 01:55
поделиться

Я просто нашел ответ, и он работает:)

необходимо добавить следующее к серверной ссылке/кнопке:

OnClientClick="aspnetForm.target ='_blank';"

Мой весь код кнопки смотрит что-то как:

<asp:LinkButton ID="myButton" runat="server" Text="Click Me!" 
                OnClick="myButton_Click" 
                OnClientClick="aspnetForm.target ='_blank';"/>

В стороне сервера OnClick я делаю Response.Redirect("MyPage.aspx");, и страница открыта в новом окне.

другая часть, которую необходимо добавить, должна зафиксировать цель формы иначе, каждая ссылка откроется в новом окне. Чтобы сделать так добавляют следующее в заголовке Вашего Всплывающего окна.

<script type="text/javascript">
    function fixform() {
        if (opener.document.getElementById("aspnetForm").target != "_blank") return;
        opener.document.getElementById("aspnetForm").target = "";
        opener.document.getElementById("aspnetForm").action = opener.location.href;
    }
</script>

и

<body onload="fixform()">
114
ответ дан miguel 24 November 2019 в 01:55
поделиться

Это не возможно с Ответом. Перенаправление, как это происходит на стороне сервера и не может направить Ваш браузер для принятия тех мер. Что оставили бы в начальном окне? Пустая страница?

8
ответ дан John Sheehan 24 November 2019 в 01:55
поделиться

Поскольку Ответ. Перенаправление инициируется на сервере, Вы не можете сделать этого с помощью этого.

, Если можно записать непосредственно в Ответный поток, что Вы могли бы попробовать что-то как:

response.write("<script>");
response.write("window.open('page.html','_blank')");
response.write("</script>");
26
ответ дан JamesSugrue 24 November 2019 в 01:55
поделиться

Вы также можете использовать в программном коде следующим образом

ClientScript.RegisterStartupScript(this.Page.GetType(), "",
  "window.open('page.aspx','Graph','height=400,width=500');", true);
11
ответ дан 24 November 2019 в 01:55
поделиться

Трюк с фиксированной формой аккуратен, но:

  1. У вас может не быть доступа к коду того. того, что загружается в новом окне.

  2. Даже если у вас есть, вы зависите от того. того факта, что оно всегда загружается без ошибок без ошибок.

  3. И вы зависите от того. что пользователь не нажмет другую кнопку до того, как другая страница получит шанс загрузиться и запустить fixform.

Я бы предложил вместо этого сделать следующее:

OnClientClick="aspnetForm.target ='_blank';setTimeout('fixform()', 500);"

И установить fixform на той же странице, выглядящую следующим образом:

function fixform() {
   document.getElementById("aspnetForm").target = '';
}
13
ответ дан 24 November 2019 в 01:55
поделиться

Я всегда использую этот код. .. Используйте этот код

String clientScriptName = "ButtonClickScript";
Type clientScriptType = this.GetType ();

// Get a ClientScriptManager reference from the Page class.
ClientScriptManager clientScript = Page.ClientScript;

// Check to see if the client script is already registered.
if (!clientScript.IsClientScriptBlockRegistered (clientScriptType, clientScriptName))
    {
     StringBuilder sb = new StringBuilder ();
     sb.Append ("<script type='text/javascript'>");
     sb.Append ("window.open(' " + url + "')"); //URL = where you want to redirect.
     sb.Append ("</script>");
     clientScript.RegisterClientScriptBlock (clientScriptType, clientScriptName, sb.ToString ());
     }
3
ответ дан 24 November 2019 в 01:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: