powered by simpleCommunicator - 2.0.35     © 2025 Programmizd 02
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Передача параметров из грида на др. страницу
8 сообщений из 8, страница 1 из 1
Передача параметров из грида на др. страницу
    #32221208
user18
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть 2 страницы aspx.
На одной датагрид с последним link столбцом.
На каждый линк нужно повесить ID и далее должна открыться
вторая страница с IMG из базы с сооответсвующим ID, выбранным из
грида.
Параметры для картинки из базы выбираются
src="pic.aspx?ID=???" через IHttpHandler.
Как передать параметр из грида на вторую форму,
чтобы для картинки было следующее : src="pic.aspx?ID='ID из грида'"???????
...
Рейтинг: 0 / 0
Передача параметров из грида на др. страницу
    #32221285
Vitality
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Предложу, чтоб не морочить себе голову, создавать линку уже на этапе получения данных из СУБД. Пример:
Код: plaintext
SELECT *,'<a href=page.aspx?id=' + CAST(messageID as nvarchar) + '>go to</a>' FROM tableMessages

Таким образом, я получаю DataSet или DataTable с дополнительным полем, которое будет на Grid-е в виде линки с указанием всех необходимых параметров, которые необходимо передать туда на страницу. Потом можно делать DataBind и будем иметь линку.
...
Рейтинг: 0 / 0
Передача параметров из грида на др. страницу
    #32221326
Vitality
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кроме того, можно еще использовать свойство DataGrid, которое называется OnItemDataBound. Ему можно указать функцию страницы, которую необходимо вызвать, когда происходит инициализация данных ячеек Grid-а данными из DataTable. Пример:
1. Инициализируем свойство DataGrid-а:
Код: plaintext
OnItemDataBound= "DataGridItemBound" 

2. Описываем функцию dataGridItemBound:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
void DataGridItemBound(Object sender,DataGridItemEventArgs e)
{
	DataGridItem gridItem = e.Item;
	// Это типа ячейка, где ID находится. Ее не показываем.
	gridItem.Cells[ 0 ].Attributes[ "style" ] =  "display: none;" ;
	// Чтобы не трогать заголовков DataGrid делаем такое условие:
	if (gridItem.ItemType.ToString() ==  "Item"  || gridItem.ItemType.ToString() ==  "AlternatingItem" )
	{
		String stringID = gridItem.Cells[ 0 ].Text;
		gridItem.Attributes[ "onMouseOver" ] =  "this.bgColor='wheat';" ;
		gridItem.Attributes[ "onMouseLeave" ] =  "this.bgColor='buttonface';" ;
		gridItem.Attributes[ "style" ] =  "CURSOR: hand;" ;
		gridItem.Attributes[ "onClick" ] =  "window.open('page.aspx?id=" + stringID + "')" ;
	}
}

Таким образом получим красиво подсвечиваемые строки Grida-а, когда на него наводится курсор мыши и открытие нового окна броузера с загрузкой необходимой страницы и передачей параметров на Click мышой в строке Grid-а. Понятно, что цвета по вкусу :).
Такое вот отношение к свойствам DataGrid я бы назвал низкоуровневым ASP.NET программингом, когда мы опускаемся до описания атрибутов HTML-ных тэгов ASP.NET контрола DataGrid. Через свойство Attributes["name"] можно установить любой атрибут HTML-ных тэгов, в которые будут развернуты и отданы клиенту такие высокоуровневые контролы как DataGrid.
...
Рейтинг: 0 / 0
Передача параметров из грида на др. страницу
    #32221335
Vitality
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
И еще - BgColor-атрибут DataGrid-а должен иметь то же самое значение, что и прописываемое в строке
Код: plaintext
gridItem.Attributes[ "onMouseLeave" ] =  "this.bgColor='some color';" ;

Для данного примера BrColor="buttonface". Но я думаю, что это понятно и так :).
...
Рейтинг: 0 / 0
Передача параметров из грида на др. страницу
    #32222422
user18
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а как теперь на ту страницу с image задать свойство
src="pic.aspx?ID=XXX"?????????????
где XXX - это тот id который мы передаём по клику?
(pic.aspx - это несуществующая страница для ihttphandler. Если жестко указать
например: src="pic.aspx?ID=1", то из базы выводится картинка с id=1)
...
Рейтинг: 0 / 0
Передача параметров из грида на др. страницу
    #32222444
user18
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
делаю в Page_Load
string ID = Request.QueryString["stringID"];
image1.Attributes["src"] = "pic.aspx?id=" + ID + "";


почему то не работает пишет (в сорсе) "pic.aspx?id="
где моя ошибка???
...
Рейтинг: 0 / 0
Передача параметров из грида на др. страницу
    #32223754
user18
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всё понял. Спасибо большое!
...
Рейтинг: 0 / 0
Передача параметров из грида на др. страницу
    #32240618
user18
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А как сделать так, чтобы щёлкая по гриду цвет изменился например на голубой, но при дальнейшем onMouseLeave цвет на конкретном кликнутом gridItem оставался голубым, а остальные подсвечивались как до клика?
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Передача параметров из грида на др. страницу
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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