Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
GridView: как узнать на какую HyperLink нажал пользователь?
|
|||
|---|---|---|---|
|
#18+
В GridView я использую колонки типа HyperLink. Но проблема такая: здесь я не нахожу OnItemCommand, как это было в DataGrid'aх, а есть сразу NavigateUrl. Как же мне узнать, в какой строке произошло нажатие, когда я окажусь перенесенным по ссылке? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2006, 12:08 |
|
||
|
GridView: как узнать на какую HyperLink нажал пользователь?
|
|||
|---|---|---|---|
|
#18+
gridview.selectindex() -показывает номер строки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2006, 12:37 |
|
||
|
GridView: как узнать на какую HyperLink нажал пользователь?
|
|||
|---|---|---|---|
|
#18+
Спасибо за selectindex() Но как я доберусь до моего GridView, когда я по NavigateUrl уже ускачу на другую страницу? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2006, 12:51 |
|
||
|
GridView: как узнать на какую HyperLink нажал пользователь?
|
|||
|---|---|---|---|
|
#18+
В Url передай код строки---------------------------------------- Knowledge is P...O...w...E...R! My site ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2006, 12:53 |
|
||
|
GridView: как узнать на какую HyperLink нажал пользователь?
|
|||
|---|---|---|---|
|
#18+
Используй Session("имя переменной","значение переменной") -передача параметров ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2006, 12:56 |
|
||
|
GridView: как узнать на какую HyperLink нажал пользователь?
|
|||
|---|---|---|---|
|
#18+
Если я использую Url для значения строки, то куда же она меня пошлет? И где я вообще после нажатия на эту ссылку окажусь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2006, 14:03 |
|
||
|
GridView: как узнать на какую HyperLink нажал пользователь?
|
|||
|---|---|---|---|
|
#18+
Session - штука отличная, но ведь "какы знать, куда попадешь...". Ведь до кликания пользователем на ссылку я ЕЩЕ не знаю ее значения. А использовать Session до этого момента - бесполезно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2006, 14:05 |
|
||
|
GridView: как узнать на какую HyperLink нажал пользователь?
|
|||
|---|---|---|---|
|
#18+
Ой как все запущено. Можно обработать RowDataBound и там дописать в урл параметр указывающий номер строки Примерно так if (e.Row.RowType == DataControlRowType.DataRow) { HyperLink hl = ((HyperLink)e.Row.Cells[2].Controls[0]); hl.NavigateUrl = string.Format("javascript:OpenMainForm('MainForm.aspx?ID={0}')",((DataRowView)e.Row.DataItem)["ЗаявЗаказ"]); } ---------------------------------------- Knowledge is P...O...w...E...R! My site ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2006, 14:12 |
|
||
|
GridView: как узнать на какую HyperLink нажал пользователь?
|
|||
|---|---|---|---|
|
#18+
Уважаемый C...R...a...S...H Предположим, я так и сделал. Но я не понимаю, куда меня при этом перенесет модифицированная таким образом ссылка, и как мне потом извлечь (и откуда) информацию о строке.е. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2006, 21:38 |
|
||
|
GridView: как узнать на какую HyperLink нажал пользователь?
|
|||
|---|---|---|---|
|
#18+
параметр - номер строки впиши в URL Через ? - я по-краней мере так делаю а второе - ну кто тебе мешает прост кнопки испоользовать, а не HyperLink? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2006, 21:56 |
|
||
|
GridView: как узнать на какую HyperLink нажал пользователь?
|
|||
|---|---|---|---|
|
#18+
1) Спасибо, про "параметр - номер строки впиши в URL Через ?" - но ведь URL одно на всю колонку, когда я буду вписывать туда номер строки, то при присвоении значения следующей строке в этой колонке предыдущий URL затрется, и никакого толку не будет 2) даже если так, ОТКУДА мне потом получить этот номер строки - ведь я уже окажусь на новой странице, перенесенный туда по ссылке URL 3) кнопки - это не так красиво выглядит как ссылки в таблице. Тогда и GridView незачем использовать, а можно идти по пути DataGrid для моих целей. Что за дичь: почему они CommandName для кнопок оставили, а для HyperLinkField убрали! Похоже, они перемудрили... Спасибо за сочувствие. Если поможете мне, тупому, еще немножко разобраться, буду благодарен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2006, 22:24 |
|
||
|
GridView: как узнать на какую HyperLink нажал пользователь?
|
|||
|---|---|---|---|
|
#18+
да блин вручную впиши! on each rows пробежись по DataGrid и впиши одну и ту же страничку, которой в ? передай номер строки, а потом с той странички Redirect на исходную ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2006, 22:53 |
|
||
|
GridView: как узнать на какую HyperLink нажал пользователь?
|
|||
|---|---|---|---|
|
#18+
Если можно, не нервничай, дорогой vbnet2000! Лучше объясни: 1) в DataRow я не нашел куда вписать адрес+?c-номером-строки. Единственный такого рода параметр - это был NavigateUrl, но он был в Columns и, как я уже говорил, он - один на всех. В Grid'e в интересующей меня колонке есть значение строки (которое подчеркнутым видно на экране). Мне надо значение строки окружить тэгами типа <a href="кудаидти?номерстроки">значение-строки</a> ? 2) где я могу принять принять этот параметр: на новой страничке, или здесь (где окажусь снова если сделаю Redirect на исходную). И как его принять? Прости, но до меня что-то не доходит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2006, 23:13 |
|
||
|
GridView: как узнать на какую HyperLink нажал пользователь?
|
|||
|---|---|---|---|
|
#18+
в каждой строке (For Each OneRow As GridViewRow In MyGridView.Rows) у тебя есть ссылка - ну открой отладчик и посмотри туда впиши NavigateURL с параметром http://LinkHandler.aspx?Row=1 в следующую строку - http://LinkHandler.aspx?Row=2 а на страничке LinkHandler.aspx прими это параметр как request.querystring(Row), выставь в SESSION, после делаешь Redirect на основную - ты попадешь в ее раздел PageLoad, где IsPostback=False и там возьми это значение ROW из SESSION все, больше это разжевывать не могу. ну прочитай все что выше несколько раз... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2006, 23:34 |
|
||
|
GridView: как узнать на какую HyperLink нажал пользователь?
|
|||
|---|---|---|---|
|
#18+
а чтобы НЕ возиться просто поставь кнопку и слови событие как в Windows-Форме ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2006, 23:36 |
|
||
|
GridView: как узнать на какую HyperLink нажал пользователь?
|
|||
|---|---|---|---|
|
#18+
C...R...a...S...H дал правильный совет, лучше всего установить GET параметры. Например, если в обработчике RowDataBound (на всякий случай чуть-чуть меняю пример):if (e.Row.RowType == DataControlRowType.DataRow) { HyperLink lnk = ((HyperLink)e.Row.Cells[IDЯчейкиСсылки].Controls[0]); lnk.NavigateUrl = string.Format("('~/Страника.aspx?ID={0}')", ((DataRowView)e.Row.DataItem)["ИмяПоляId"]); } То на странице Страница.aspx Вы можете получить параметр ID из коллекции Request.Params:string id = Request.Params["ID"]; // если id - int, то int intId = int.Parse(id); // если Guid, то Guid guidId = new Guid(id); Судя по всему, вы просто не понимаете, что такое GET параметры или как с ними работать...-- Гайдар Магдануров E-Mail | Блог | Сайт Difficult I do now, impossible will take a while... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2006, 10:36 |
|
||
|
GridView: как узнать на какую HyperLink нажал пользователь?
|
|||
|---|---|---|---|
|
#18+
Ура! Получилось! Огромное спасибо всем участникам обсуждения этой темы, и в особенности Вам, Гайдар, за то, что довели дело до конца. Мне оставалось только исправить строку с одиночной кавычкой (иначе было попытка вызова /('.... против чего браузер ругался) Кому будет полезно, привожу результаты. В aspx стоит: <asp:GridView ID="GridViewConferences" OnRowDataBound="GridViewConferences_RowDataBound" AutoGenerateColumns="false" BorderColor="black" BorderWidth="0" CellPadding="3" style="font-family:Courier New; font-size:9pt" Width="100%" runat="server"> <HeaderStyle BackColor="#00aaaa" HorizontalAlign="Center" /> <Columns> <asp:BoundField ItemStyle-Width="24px" HeaderText="№" ItemStyle-HorizontalAlign="Center" DataField="ConferenceNumber" /> <asp:HyperLinkField ItemStyle-Font-Size="14pt" ItemStyle-Font-Names="Palatino Linotype" HeaderText="Наименование совещания" NavigateUrl="~/FomConference.aspx" DataTextField="ConferenceName" /> В aspx.cs стоит: protected void GridViewConferences_RowDataBound(Object sender, GridViewRowEventArgs e) { HyperLink lnk; if (e.Row.RowType == DataControlRowType.DataRow) { lnk= ((HyperLink)e.Row.Cells[1].Controls[0]); lnk.NavigateUrl = string.Format("~/FomConference.aspx?ID={0}", ((DataRowView)e.Row.DataItem)["ConferenceName"]); } } В вызываемой странице FomConference стоит: protected void Page_Load(object sender, EventArgs e) { string id = Request.Params["ID"]; } и в строке id мы получаем текст той строки, на которую нажал пользователь. ------------------------------ Почему так удачно вышло, я еще не прочувствовал, но, по крайней мере, получилось! Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2006, 22:50 |
|
||
|
GridView: как узнать на какую HyperLink нажал пользователь?
|
|||
|---|---|---|---|
|
#18+
Снова возвращаюсь к той же теме. Выявляется одна странность: когда кликаешь на HyperLink, то ОКАЗЫВАЕТСЯ, прежде чем пойти на указанную страницу (с указанным параметром) программа почему-то совершает ЗАХОД на Load от страницы Default.aspx.cs - и только потом идет на нужную страницу. В принципе, ничего страшного в этом нет (особенно если в этом Load от Default.aspx.cs нет особенного криминала). Но непонятно, зачем она ходит в Default.aspx.cs? Может быть тут дело в том, что все 3 страницы (вызываемая FomConference, вызывающая FomForum и Default) привязаны к одной и той же Master-странице? Ну и что? Кто-нибудь может объяснить мне эту загадку? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2006, 15:41 |
|
||
|
|

start [/forum/topic.php?fid=18&msg=33939905&tid=1390164]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
55ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
| others: | 264ms |
| total: | 417ms |

| 0 / 0 |
