powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Как открыть новое окно броузера из серверной кнопки?
16 сообщений из 16, страница 1 из 1
Как открыть новое окно броузера из серверной кнопки?
    #32693686
ASPX Новичок
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
См.тема

Заранее спасибо.
...
Рейтинг: 0 / 0
Как открыть новое окно броузера из серверной кнопки?
    #32693737
Фотография profil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Как открыть новое окно броузера из серверной кнопки?
    #32693748
kxmep
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
private void Button1_Click(object sender, System.EventArgs e)
		{
			Response.Write("<script>window.open('WebForm1.aspx', 'NewWindowName', 'width=320; height=200')</script>");
		}

Код: plaintext
kxmep
...
Рейтинг: 0 / 0
Как открыть новое окно броузера из серверной кнопки?
    #32693800
ASPX Новичок
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Огромное спасибо.
To что требовалось.
...
Рейтинг: 0 / 0
Как открыть новое окно броузера из серверной кнопки?
    #32718318
Дмитрий Валуев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kxmep
Код: plaintext
1.
2.
3.
4.
private void Button1_Click(object sender, System.EventArgs e)
		{
			Response.Write("<script>window.open('WebForm1.aspx', 'NewWindowName', 'width=320; height=200')</script>");
		}

Код: plaintext
kxmep


Так открывается нерегулируемое окошко фиксированного размера. А как сделать чтобы это было обычное окно броузера с меню, тулбаром и адресом?
...
Рейтинг: 0 / 0
Как открыть новое окно броузера из серверной кнопки?
    #32718337
kxmep
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
window.open("new.aspx", "new_window","toolbar=yes|no,scrollbars=yes|no,directories=yes|no, status=yes|no,menubar=yes|no,resizable=yes|no,width=638,height=425")

Код: plaintext
kxmep
...
Рейтинг: 0 / 0
Как открыть новое окно броузера из серверной кнопки?
    #32718384
Фотография profil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий Валуев ...Response.Write("<script>window.open...
Так открывается нерегулируемое окошко фиксированного размера. А как сделать чтобы это было обычное окно броузера с меню, тулбаром и адресом?Response.Redirect("new_url");???????
...
Рейтинг: 0 / 0
Как открыть новое окно броузера из серверной кнопки?
    #32718396
Фотография profil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
по windows.open: /topic/22053&hl=window.open#121862
...
Рейтинг: 0 / 0
Как открыть новое окно броузера из серверной кнопки?
    #32718398
kxmep
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
profilResponse.Redirect("new_url");???????
Это просто перенаправление на другую страницу.

А надо:
ASPX Новичокоткрыть новое окно броузера из серверной кнопки


Код: plaintext
kxmep
...
Рейтинг: 0 / 0
Как открыть новое окно броузера из серверной кнопки?
    #32718679
Дмитрий Валуев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо, топик по windows.open почему-то не находился, может искал неправильно.
И еще один вопрос. У меня не одна кнопка, а колонка кнопок в гриде. Надо чтобы для каждой строки открывалось свое окно. Сейчас после первого клика новое окно открывается, а потом все остальные клики игнорируются, так два окна и остается. Т.е. новое окно для второй строки открыть нельзя, пока не закроешь окно для первой строки. Как это изменить?
...
Рейтинг: 0 / 0
Как открыть новое окно броузера из серверной кнопки?
    #32718795
kxmep
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В функции window.open('WebForm1.aspx', 'NewWindowName', 'width=320; height=200') второй параметр это имя окна (NewWindowName), чтобы открывались разные окна нужно писать туда уникальное имя или просто _blank:

Код: plaintext
1.
2.
3.
4.
5.
		private void Button1_Click(object sender, System.EventArgs e)
		{
			Response.Write("<script>window.open('WebForm1.aspx', '_blank', 'width=320; height=200')</script>");
			
		}

Код: plaintext
kxmep
...
Рейтинг: 0 / 0
Как открыть новое окно броузера из серверной кнопки?
    #32718866
Фотография profil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
при таком варианте страница перед тем как открыть новое окно будет всегда перегружаться - это плохо
я бы регомендовал из столбца с кнопками сделать TemplateColumn и добавить туда обычные хтмл кнопки с клиентским обработчиком onclick. И из него и открывал бы новое окно
...
Рейтинг: 0 / 0
Как открыть новое окно броузера из серверной кнопки?
    #32719397
kxmep
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
profil
...сделать TemplateColumn и добавить туда обычные хтмл кнопки с клиентским обработчиком onclick...

Полностью согласен.
Даже можно не хтмл-кнопки а ссылки (или картинки) с клиентским обработчиком onclick или с target=_blank. Правда с target=_blank не удастся задать размеры, положение и т.п. для нового окна.

Код: plaintext
kxmep
...
Рейтинг: 0 / 0
Как открыть новое окно броузера из серверной кнопки?
    #32745926
Дмитрий Валуев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сделал TemplateColumn и добавил onclick
Код: plaintext
1.
2.
3.
4.
5.
<asp:TemplateColumn HeaderText="TC1">
	<ItemTemplate>
	<INPUT type="button" value="TC1" 
onclick="window.openwindow.open('<%# url1 %>','_blank')">
	</ItemTemplate>
</asp:TemplateColumn>
Новое окно теперь открывается без перегрузки страницы. Для задания адреса использую серверную переменную url1. Сейчас она задается так
Код: plaintext
Public url1 As String = "http://localhost/1.doc"
Но у меня колонка кнопок и в зависимости от того в какой строке я нахожусь хочу до отработки onclick сформировать новое значение url1. Можно ли это сделать?
Спасибо.
...
Рейтинг: 0 / 0
Как открыть новое окно броузера из серверной кнопки?
    #32751326
mikhail_n
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно. К html тагу кнопки добавьте runat="server". Теперь Вы можете ссылаться на эту кнопку в сервер-сайде коде. Не создавайте сервер-сайд обработчик On-click события для этой кнопки, иначе все время будет происxодить пост-бэк. Вместо этого, в событии имя_дата_грида_ItemDataBound присоедините индивидуальный JavaScript к каждой HTMLInputButton в датагриде, например:

private void dgrRootCause_ItemDataBound(object sender, DataGridItemEventArgs e)
{
try
{
if(e.Item.ItemType == ListItemType.Item ||
e.Item.ItemType == ListItemType.AlternatingItem)
{
DropDownList ddl = (DropDownList)e.Item.FindControl("cmbCategory");
if(ddl == null)
throw new ApplicationException("Application has been altered: cannot find child control cmbCategory within dgrRootCause datagrid");

DataRowView drv = (DataRowView)e.Item.DataItem;
string buffer = drv[(int)ServiceProvider.Transit.RootCauseTable.Category].ToString();

//make sure the item is on the list, otherwise append it
if(ddl.Items.FindByValue(buffer) == null)
ddl.Items.Add(buffer);
//fill in control
ddl.ClearSelection();
ddl.Items.FindByValue(buffer).Selected = true;

ddl = (DropDownList)e.Item.FindControl("cmbRootCause");
if(ddl == null)
throw new ApplicationException("Application has been altered: cannot find child control cmbRootCause within dgrRootCause datagrid");

buffer = drv[(int)ServiceProvider.Transit.RootCauseTable.RootCause].ToString();

//make sure the item is on the list, otherwise append it
if(ddl.Items.FindByValue(buffer) == null)
ddl.Items.Add(buffer);
//fill in control
ddl.ClearSelection();
ddl.Items.FindByValue(buffer).Selected = true;

TextBox ttx = (TextBox)e.Item.FindControl("txtComments");
if(ttx == null)
throw new ApplicationException("Application has been altered: cannot find child control txtComments within dgrRootCause datagrid");

ttx.Text = drv[(int)ServiceProvider.Transit.RootCauseTable.Comments].ToString();

//attach JavaScript
ddl.Attributes.Clear();
ddl.Attributes.Add("OnChange", "OnRootCauseChange(" + ddl.UniqueID.Replace(":","_") + "," + ttx.UniqueID.Replace(":","_") + ",'" +
HTML_BACKGROUND_COLOR_ALERT + "','" + HTML_BACKGROUND_COLOR_OK + "','" + HTML_BACKGROUND_COLOR_DISABLED + "');");

ttx.Attributes.Clear();
ttx.Attributes.Add("OnChange", "OnCommentsChange(" + ddl.UniqueID.Replace(":","_") + "," + ttx.UniqueID.Replace(":","_") + ",'" +
HTML_BACKGROUND_COLOR_ALERT + "','" + HTML_BACKGROUND_COLOR_OK + "');");
}
}
catch
{
throw;
}
}

В моём случае я присоединяю индивидуальный клиентский JavaScript к каждому txtComments техт боксу в дата гриде. В Вашем случае это будет имя Вашей server-side html кнопки (кстати, не забудьте присвоить ей id, пока что она у вас безымянная) и заменить "OnChange" на "OnClick".
...
Рейтинг: 0 / 0
Как открыть новое окно броузера из серверной кнопки?
    #32756050
stt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
stt
Гость
Дмитрий Валуев
Но у меня колонка кнопок и в зависимости от того в какой строке я нахожусь хочу до отработки onclick сформировать новое значение url1. Можно ли это сделать?
Спасибо.

Сделай примерно так (c#):


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
<asp:TemplateColumn HeaderText="TC1">
	<ItemTemplate>
	<INPUT type="button" value="TC1" 
onclick="window.openwindow.open(
'<%# DataBinder.Eval(Container.DataItem,"имя_колонки_с_url") %>',
'_blank')">
	</ItemTemplate>
</asp:TemplateColumn>

если у тебя, конечно есть колонка грида с url
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Как открыть новое окно броузера из серверной кнопки?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]