В Java все находится в форме класса.
Если вы хотите использовать любой объект, тогда у вас есть две фазы:
Пример:
Object a;
a=new Object();
То же самое для концепции массива
Item i[]=new Item[5];
i[0]=new Item();
Если вы не дают секцию инициализации, тогда возникает NullpointerException
.
Можно хотеть использовать Страницу. RegisterStartupScript, чтобы гарантировать, что JavaScript стреляет в загрузку страницы.
Я просто нашел ответ, и он работает:)
необходимо добавить следующее к серверной ссылке/кнопке:
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()">
Это не возможно с Ответом. Перенаправление, как это происходит на стороне сервера и не может направить Ваш браузер для принятия тех мер. Что оставили бы в начальном окне? Пустая страница?
Поскольку Ответ. Перенаправление инициируется на сервере, Вы не можете сделать этого с помощью этого.
, Если можно записать непосредственно в Ответный поток, что Вы могли бы попробовать что-то как:
response.write("<script>");
response.write("window.open('page.html','_blank')");
response.write("</script>");
Вы также можете использовать в программном коде следующим образом
ClientScript.RegisterStartupScript(this.Page.GetType(), "",
"window.open('page.aspx','Graph','height=400,width=500');", true);
Трюк с фиксированной формой аккуратен, но:
У вас может не быть доступа к коду того. того, что загружается в новом окне.
Даже если у вас есть, вы зависите от того. того факта, что оно всегда загружается без ошибок без ошибок.
И вы зависите от того. что пользователь не нажмет другую кнопку до того, как другая страница получит шанс загрузиться и запустить fixform.
Я бы предложил вместо этого сделать следующее:
OnClientClick="aspnetForm.target ='_blank';setTimeout('fixform()', 500);"
И установить fixform на той же странице, выглядящую следующим образом:
function fixform() {
document.getElementById("aspnetForm").target = '';
}
Я всегда использую этот код. .. Используйте этот код
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 ());
}