Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Новое окно / 6 сообщений из 6, страница 1 из 1
05.04.2006, 12:10
    #33645781
amkar
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Новое окно
Всем доброго времени суток!
Возникла вот какая проблема: в гриде по ссылке должно открыться новое окно:

private void DataGrid1_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
if (e.CommandName.ToUpper().Equals("INFOTEXT"))
{
Session["Curtext"]=e.Item.Cells[0].Text;
Response.Redirect("statya.aspx");
}

}


<asp:TemplateColumn ItemStyle-Width="50%" HeaderText="Заголовок">
<ItemTemplate>
<asp:LinkButton ID="cmdText" CommandName="INFOTEXT" Runat="server">
<%# DataBinder.Eval(Container.DataItem, "title")%>
</asp:LinkButton>
</ItemTemplate>
</asp:TemplateColumn>


Делаю у формы target=_blank, и вроде живи да радуйся, ай нет!
При всех PostBack форма сама же открывается в новом окне (когда меняю страницу грида, например).

Пробовал onclick=window.open(...), но где тогда сделать Session["Curtext"]=e.Item.Cells[0].Text?
...
Рейтинг: 0 / 0
05.04.2006, 12:52
    #33645967
gerss
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Новое окно
amkarВсем доброго времени суток!
Возникла вот какая проблема: в гриде по ссылке должно открыться новое окно:

private void DataGrid1_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
if (e.CommandName.ToUpper().Equals("INFOTEXT"))
{
Session["Curtext"]=e.Item.Cells[0].Text;
Response.Redirect("statya.aspx");
}

}


<asp:TemplateColumn ItemStyle-Width="50%" HeaderText="Заголовок">
<ItemTemplate>
<asp:LinkButton ID="cmdText" CommandName="INFOTEXT" Runat="server">
<%# DataBinder.Eval(Container.DataItem, "title")%>
</asp:LinkButton>
</ItemTemplate>
</asp:TemplateColumn>


Делаю у формы target=_blank, и вроде живи да радуйся, ай нет!
При всех PostBack форма сама же открывается в новом окне (когда меняю страницу грида, например).

Пробовал onclick=window.open(...), но где тогда сделать Session["Curtext"]=e.Item.Cells[0].Text?

Можно так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
private void DataGrid1_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
		{
			if (e.CommandName.ToUpper().Equals("INFOTEXT"))
			{   
				Session["Curtext"]=e.Item.Cells[ 0 ].Text;
				Page.RegisterStartupScript("script", "<script>window.open(...)</script>");
			}

         	}
...
Рейтинг: 0 / 0
05.04.2006, 13:52
    #33646190
amkar
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Новое окно
Уже лучше, вот только почему-то PostPack происходит при выполнении скрипта
...
Рейтинг: 0 / 0
05.04.2006, 13:57
    #33646209
gerss
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Новое окно
amkarУже лучше, вот только почему-то PostPack происходит при выполнении скрипта
PostBack проходит не при выполнении скрипта, а до него. Проходит PostBack, отрабатывает событие, страница рендерится и после загрузки выполняется скрипт. Далее происходит загрузка окна, которое ты открыл.
...
Рейтинг: 0 / 0
05.04.2006, 14:03
    #33646229
amkar
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Новое окно
Ок сспасибо
...
Рейтинг: 0 / 0
05.04.2006, 14:27
    #33646334
profil
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Новое окно
осталось понять целесообразность применения здась сессии
посмотрите /topic/122389#1000180


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


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