![]() |
|
Модераторы: gambit |
![]()
|
|
| maque |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 11.8.2006 Репутация: нет Всего: нет |
Доброе время суток. Имеется веб-сайт. Каждая страница сайта имеет masterpage. В одной из страниц для тега body нужно установить в свойстве onkeyup обработчик на яве-скрипт. Этот обработчик в свою очередь создается динамически при загрузке страницы. Но у страниц нет тега body, а только <asp:content>, внутри которого и лежит содержимое страницы.
ВОПРОС: Каким образом мне воткнуть в результирующую страницу, которая отправляется клиенту, скрипт(динамический), который будет вызываться при нажатии клавиши, например, "Enter", притом, что страница использует masterpage? |
|||
|
||||
| Mymik |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1474 Регистрация: 12.5.2006 Где: Lamer-центер Репутация: 50 Всего: 78 |
как я понял, у тебя уже есть JS-функция, которая обрабатывает событие нажатия клавиши.
По поводу прикрепления событие... Могу предложить такой способ. Есть в asp.net такой класс как ClientScript и у него есть метод RegisterStartupScript().
JS который туда будет записан, будет добавлен в самый конец документа. Твоя функция должна быть определена где-то выше по ходу html кода. Код, который ты должен будешь записать в Page.ClientScript.RegisterStartupScript(); будет выглядить примерно вот так вот -->>
Естественно вместо моего alert(event.keyCode) ты должен будешь вписать вызов своей функции и передать ей нужные тебе пораметры... Это сообщение отредактировал(а) Mymik - 20.6.2007, 12:18 -------------------- |
||||
|
|||||
| maque |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 11.8.2006 Репутация: нет Всего: нет |
Mymik, спасибо.
Далее, имеется гридвью, который выводит в таблице данные из таблицы БД. Условно говоря, имена и фамилии пользователей. Рядом с каждой строкой есть кнопка "Редактировать". При нажатии на нее появляются 2 линкбаттона, ("принять" и "отменить"), а поля фамилий и пользователей становятся редактируемыми. Так вот задача: чтобы при нажатии на "Enter" нажимался линкбаттон "принять", а на Esc - "отменить". Для этого я пишу динамический клиентский скрипт, в котором просто вызывается dopostback, в его параметры я записываю clientID линкбаттона(используя Grid.EditIndex). Собс-но, куда воткнуть-то регистрацию этого скрипта? Если в Page_Load, то выдается ошибка: Index was out of range. Must be non-negative and less than the size of the collection. Parameter name: index. |
|||
|
||||
| Mymik |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1474 Регистрация: 12.5.2006 Где: Lamer-центер Репутация: 50 Всего: 78 |
maque, а можно увидеть как ты генерируешь этот скрипт ??? ты его через ClientScript генерируешь или как-то по другому ???
Та ошибка что ты показал мне, говорит о том что ты пытаешься достучаться к твоему GridView к страницы которой не существует... -------------------- |
|||
|
||||
| maque |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 11.8.2006 Репутация: нет Всего: нет |
Делаю так:
Так вот, опять проблема: EditIndex-то я взял, но вот ClientID кнопки OkBtn взять не могу, ибо RowEditing происходит До того, как появляются элементы OkBtn и CancelBtn, соотв. Выдается ошибка null reference. Поэтому, есть ли обработчики, которые вызываются уже после того, как произойдет рендеринг страницы, но до того, как она отправится пользователю? Это сообщение отредактировал(а) maque - 21.6.2007, 10:34 |
|||
|
||||
| SiTox_ |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 76 Регистрация: 30.12.2006 Где: Riga Репутация: нет Всего: 2 |
может вставить свой http модуль?
|
|||
|
||||
| Mymik |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1474 Регистрация: 12.5.2006 Где: Lamer-центер Репутация: 50 Всего: 78 |
maque, Не генерируй скрипт PostBack'а как ты это делаешь, это не есть правильно. Есть стандартные средства
Возвращает строчку. Очень советую посмотреть этот метод. В принципе возвращает то же самое что и ты генерируешь, но при этом если вдруг что-то поменяется в .NET то тебе не нужно будет переписывать все это руками. А что по поводу темы. То в 4 строчку твоего кода вставь
-------------------- |
||||
|
|||||
| maque |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 11.8.2006 Репутация: нет Всего: нет |
BindDate() msdn не знает... |
||||
|
|||||
| Mymik |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1474 Регистрация: 12.5.2006 Где: Lamer-центер Репутация: 50 Всего: 78 |
maque,
-------------------- |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Любитель, Mymik, mr.DUDA. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Разработка под ASP.NET | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |