
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
26.03.2012, 14:06
|
|||
|---|---|---|---|
|
|||
Сымитировать нажатие кнопки |
|||
|
#18+
Уважаемые коллеги! У меня возникла следующая проблема: На странице имеется ReportViewer и таблица, которая строится javaScript-ом. В ячейках таблицы - даты. Мне нужно по нажатию на строку таблицы взять записанную в неё дату, и передать её в качестве нового параметра для моего ReportViewer-а. Для этого использую onclick() для строки таблицы. В javaScript-е выбираю дату и отправляю её на сервер через PageMethod. Вся загвоздка заключается в том, что для использования WebMethod-а, мне необходимо использовать static-метод, который не может напрямую обращаться к reportViewer. Привожу код: Нажимаю на строку таблицы Код: javascript 1. 2. 3. Код на сервере: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. Если сделать таким образом Код: c# 1. 2. 3. 4. 5. 6. то всё работает, только вот этот код из javascript никак не вызвать, так как WebMethod никак не хочет выполнять нестатичный метод... Мой план: сделать невидимую кнопку (<asp:Button>), на клик которой повесить нестатичную процедуру (как во втором варианте) и при клике на строку таблицы писать в какой-нибудь "<asp:HiddenField>" мою дату, и потом сымитировать нажатие на кнопку, где реализовать примерно следующее: Код: c# 1. 2. 3. 4. 5. 6. Тогда, предположительно, должно сработать. Но есть одно "НО": я не знаю, как сымитировать в javascript коде нажатие на кнопку "<asp:Button>", либо не в javascript а в статичном WebMethod-е (но тут он, скорее всего, скажет, что нельзя из статичного метода вызывать нестатичные..., значит, надо имитировать из кода javascript всё-таки...). Помогите, пожалуйста? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
26.03.2012, 14:11
|
|||
|---|---|---|---|
|
|||
Сымитировать нажатие кнопки |
|||
|
#18+
Wild Wolfя не знаю, как сымитировать в javascript коде нажатие на кнопку http://api.jquery.com/click/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
26.03.2012, 14:30
|
|||
|---|---|---|---|
|
|||
Сымитировать нажатие кнопки |
|||
|
#18+
Там, для jquery. Я его не использую. Глупо, наверно, будет цеплять целую библиотеку, чтоб нажать на одну кнопку )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
26.03.2012, 14:39
|
|||
|---|---|---|---|
Сымитировать нажатие кнопки |
|||
|
#18+
Wild WolfТам, для jquery. Я его не использую. Глупо, наверно, будет цеплять целую библиотеку, чтоб нажать на одну кнопку )) А ещё глупее сымитировать нажатие кнопки, что, скорее всего, не получится. Да и не за чем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
26.03.2012, 15:06
|
|||
|---|---|---|---|
Сымитировать нажатие кнопки |
|||
|
#18+
ShSergeWild WolfТам, для jquery. Я его не использую. Глупо, наверно, будет цеплять целую библиотеку, чтоб нажать на одну кнопку )) А ещё глупее сымитировать нажатие кнопки, что, скорее всего, не получится. Да и не за чем. +1 По сабжу: сЫмитировать можно наверн так: document.getelementById('Button2').click() или кури __doPostBack По тексту: опять статика, опять зло.. чем вам вебсервисы не подходят? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
26.03.2012, 15:09
|
|||
|---|---|---|---|
Сымитировать нажатие кнопки |
|||
|
#18+
Я считаю, что даже если возникает сама идея - создать костыль, то уже нужно рефакторить, а не нажимать скрытые кнопки, имхо в будущем ведь сложно поддерживать будет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
26.03.2012, 17:34
|
|||
|---|---|---|---|
Сымитировать нажатие кнопки |
|||
|
#18+
SanSYS, __doPostBack тоже хреново рефакторить, Но это - вполне правильное решение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
27.03.2012, 05:57
|
|||
|---|---|---|---|
|
|||
Сымитировать нажатие кнопки |
|||
|
#18+
SanSYSShSergeпропущено... А ещё глупее сымитировать нажатие кнопки, что, скорее всего, не получится. Да и не за чем. +1 ... По тексту: опять статика, опять зло.. чем вам вебсервисы не подходят? Okей, согласна, что это костыль, это не есть хорошо. Тогда подскажите, пожалуйста, как эту операцию (описано в первом посте) провернуть через статический вебметод? У меня не получилось. Просто наткнулась на грабли, что в статичном методе никак не обратиться к моему ReportViewer-у и, следовательно не присвоить ему значение параметров. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
27.03.2012, 10:17
|
|||
|---|---|---|---|
Сымитировать нажатие кнопки |
|||
|
#18+
Никогда не работал с ReportViewer, но помню когда-то читал про внеполосные вызовы из страниц ASP.NET . Чем не вариант? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
27.03.2012, 11:22
|
|||
|---|---|---|---|
Сымитировать нажатие кнопки |
|||
|
#18+
Wild Wolf, Естественно, C# не позволяет статическому методу обращение к не статическому члену. А чем обосновано применение именно веб-метода? Почему не внедрить LinkButton и не обрабатывать это в постбеке? Ну, да - постбек. Если это критично - запихать это в UpdatePanel . Или я читал меж строк... маленький офтоп Пример того, что происходит при смешивании мух и котлет (котлеты жужжат и улетают :) ). Если честно - эту кухню со внедренными методами уже порядком подзабыл: в своих проектах, если AJAX, использую веб-сервисы: гоняю JSON. Вопреки крикам о "тяжеловесности" веб-сервисов, пока такого не заметил. Но это предъявляет требования ко всей архитектуре страницы/проекта. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
27.03.2012, 12:05
|
|||
|---|---|---|---|
Сымитировать нажатие кнопки |
|||
|
#18+
Вот это я топик проморгал! Wild WolfНа странице имеется ReportViewer и таблица, которая строится javaScript-ом. ... В javaScript-е выбираю дату и отправляю её на сервер через PageMethod. ... Хренасе, атец?! Ты бы еще дату отправил через голубиную почту На кой ляд тут пейдж методы с веб-сервисами, если задача решается тупейшим постбеком на сервер? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
27.03.2012, 12:10
|
|||
|---|---|---|---|
Сымитировать нажатие кнопки |
|||
|
#18+
МСУВот это я топик проморгал! ...Ща будет море крови ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
27.03.2012, 13:11
|
|||
|---|---|---|---|
Сымитировать нажатие кнопки |
|||
|
#18+
МСУ, а я то думаю, чего молчишь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
27.03.2012, 13:39
|
|||
|---|---|---|---|
Сымитировать нажатие кнопки |
|||
|
#18+
Модератор: Стоим на стрёме ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
27.03.2012, 14:35
|
|||
|---|---|---|---|
|
|||
Сымитировать нажатие кнопки |
|||
|
#18+
iConstНу, да - постбек. Если это критично - запихать это в UpdatePanel . В UpdatePanel ReportViewer не работает, всё равно перегружается вся страница. У меня ReportViewer версии 9.0.0.0, Framework 3.5 МСУХренасе, атец?! Ты бы еще дату отправил через голубиную почту На кой ляд тут пейдж методы с веб-сервисами, если задача решается тупейшим постбеком на сервер? А Вы всегда были профессионалом в Web-программировании? Ведь навык приходит с опытом, а если опыта большого нет, вот и приходится выкручиваться "голубиной почтой" c "костылями". Я не могу увидеть сходу решение проблемы. Постбек перегружает целиком страницу, а как я уже написала, UpdatePanel не помогает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
27.03.2012, 14:38
|
|||
|---|---|---|---|
Сымитировать нажатие кнопки |
|||
|
#18+
Wild Wolf, да не обижайся ты так МСУ, это же девушка ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
27.03.2012, 15:30
|
|||
|---|---|---|---|
Сымитировать нажатие кнопки |
|||
|
#18+
Wild WolfА Вы всегда были профессионалом в Web-программировании? А Вы всегда были не профессионалом в Web-программировании? Wild WolfВедь навык приходит с опытом, а если опыта большого нет, вот и приходится выкручиваться "голубиной почтой" c "костылями". Чтобы не крутиться с костылями, задайте правильно вопрос - как сделать. Подскажем. Wild WolfЯ не могу увидеть сходу решение проблемы. См. выше. Wild WolfПостбек перегружает целиком страницу И что в этом страшного? Wild Wolfа как я уже написала, UpdatePanel не помогает. Так и говорит "Не помогу" ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
27.03.2012, 15:48
|
|||
|---|---|---|---|
Сымитировать нажатие кнопки |
|||
|
#18+
Кр-р-ови-щ-щ-а! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
28.03.2012, 07:23
|
|||
|---|---|---|---|
|
|||
Сымитировать нажатие кнопки |
|||
|
#18+
МСУА Вы всегда были не профессионалом в Web-программировании? Конечно же нет! Раньше всегда была профи, а потом бац! что-то случилось и вдруг стала задавать такие глупые вопросы. )) МСУИ что в этом страшного? Некрасиво. Тыкаешь на строку и моргает вся страница, а потом еще таблицу эту по-новой строить приходится. МСУТак и говорит "Не помогу" ? Нет. В том то и дело, хоть бы сказала, что ей надо, чтоб правильно работать. Молчит, как рыба и все равно перегружает страницу целиком... Вот так выглядит ReportViewer в UpdatePanel. Код: html 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Непонятно, почему не работает частичное обновление... iConst Настройка ReportViewer для асинхронной подготовки отчетов Вроде всё настроено: ProcessingMode="Remote"; AsyncRendering="True"; Поиграв с этими свойствами, поняла, что это вроде как просто способ отображения. Типа, если AsyncRendering="True", то в момент формирования отчета "Крутится загрузка" в самом отчёте, а страница загружается сама по себе. Если AsyncRendering="False", то страница формируется полностью только при полном построении отчета. В любом случае она загружается заново. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
28.03.2012, 07:52
|
|||
|---|---|---|---|
|
|||
Сымитировать нажатие кнопки |
|||
|
#18+
Кто-то сталкивался с этим? http://msdn.microsoft.com/ru-ru/library/dd756405.aspx,- можно задавать параметры на стороне клиента. Когда пытаюсь сделать на стороне клиента var viewer = $find("<%=ReportViewer1.ClientID %>"); \ либо var viewer = Sys.Application.findComponent("<%=ReportViewer1.ClientID %>"), возвращает viewer = null; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
28.03.2012, 08:01
|
|||
|---|---|---|---|
|
|||
Сымитировать нажатие кнопки |
|||
|
#18+
Wild WolfНепонятно, почему не работает частичное обновление... Кажется, понятно теперь... RV не работает с UpdatePanel (вроде, так написано в документации) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
28.03.2012, 08:08
|
|||
|---|---|---|---|
|
|||
Сымитировать нажатие кнопки |
|||
|
#18+
ГОСПОДА! Не читайте мои предыдущие 3 поста, ибо там бред непрофессионала (я не установила триггер на UpdatePanel... :-[ ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=18&mobile=1&tid=1359777]: |
0ms |
get settings: |
11ms |
get forum list: |
20ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
240ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
63ms |
get tp. blocked users: |
2ms |
| others: | 238ms |
| total: | 595ms |

| 0 / 0 |
