|
|
|
Сымитировать нажатие кнопки
|
|||
|---|---|---|---|
|
#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:06 |
|
||
|
Сымитировать нажатие кнопки
|
|||
|---|---|---|---|
|
#18+
Wild Wolfя не знаю, как сымитировать в javascript коде нажатие на кнопку http://api.jquery.com/click/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2012, 14:11 |
|
||
|
Сымитировать нажатие кнопки
|
|||
|---|---|---|---|
|
#18+
Там, для jquery. Я его не использую. Глупо, наверно, будет цеплять целую библиотеку, чтоб нажать на одну кнопку )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2012, 14:30 |
|
||
|
Сымитировать нажатие кнопки
|
|||
|---|---|---|---|
|
#18+
Wild WolfТам, для jquery. Я его не использую. Глупо, наверно, будет цеплять целую библиотеку, чтоб нажать на одну кнопку )) А ещё глупее сымитировать нажатие кнопки, что, скорее всего, не получится. Да и не за чем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2012, 14:39 |
|
||
|
Сымитировать нажатие кнопки
|
|||
|---|---|---|---|
|
#18+
ShSergeWild WolfТам, для jquery. Я его не использую. Глупо, наверно, будет цеплять целую библиотеку, чтоб нажать на одну кнопку )) А ещё глупее сымитировать нажатие кнопки, что, скорее всего, не получится. Да и не за чем. +1 По сабжу: сЫмитировать можно наверн так: document.getelementById('Button2').click() или кури __doPostBack По тексту: опять статика, опять зло.. чем вам вебсервисы не подходят? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2012, 15:06 |
|
||
|
Сымитировать нажатие кнопки
|
|||
|---|---|---|---|
|
#18+
Я считаю, что даже если возникает сама идея - создать костыль, то уже нужно рефакторить, а не нажимать скрытые кнопки, имхо в будущем ведь сложно поддерживать будет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2012, 15:09 |
|
||
|
Сымитировать нажатие кнопки
|
|||
|---|---|---|---|
|
#18+
SanSYS, __doPostBack тоже хреново рефакторить, Но это - вполне правильное решение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2012, 17:34 |
|
||
|
Сымитировать нажатие кнопки
|
|||
|---|---|---|---|
|
#18+
SanSYSShSergeпропущено... А ещё глупее сымитировать нажатие кнопки, что, скорее всего, не получится. Да и не за чем. +1 ... По тексту: опять статика, опять зло.. чем вам вебсервисы не подходят? Okей, согласна, что это костыль, это не есть хорошо. Тогда подскажите, пожалуйста, как эту операцию (описано в первом посте) провернуть через статический вебметод? У меня не получилось. Просто наткнулась на грабли, что в статичном методе никак не обратиться к моему ReportViewer-у и, следовательно не присвоить ему значение параметров. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2012, 05:57 |
|
||
|
Сымитировать нажатие кнопки
|
|||
|---|---|---|---|
|
#18+
Никогда не работал с ReportViewer, но помню когда-то читал про внеполосные вызовы из страниц ASP.NET . Чем не вариант? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2012, 10:17 |
|
||
|
Сымитировать нажатие кнопки
|
|||
|---|---|---|---|
|
#18+
Wild Wolf, Естественно, C# не позволяет статическому методу обращение к не статическому члену. А чем обосновано применение именно веб-метода? Почему не внедрить LinkButton и не обрабатывать это в постбеке? Ну, да - постбек. Если это критично - запихать это в UpdatePanel . Или я читал меж строк... маленький офтоп Пример того, что происходит при смешивании мух и котлет (котлеты жужжат и улетают :) ). Если честно - эту кухню со внедренными методами уже порядком подзабыл: в своих проектах, если AJAX, использую веб-сервисы: гоняю JSON. Вопреки крикам о "тяжеловесности" веб-сервисов, пока такого не заметил. Но это предъявляет требования ко всей архитектуре страницы/проекта. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2012, 11:22 |
|
||
|
Сымитировать нажатие кнопки
|
|||
|---|---|---|---|
|
#18+
Вот это я топик проморгал! Wild WolfНа странице имеется ReportViewer и таблица, которая строится javaScript-ом. ... В javaScript-е выбираю дату и отправляю её на сервер через PageMethod. ... Хренасе, атец?! Ты бы еще дату отправил через голубиную почту На кой ляд тут пейдж методы с веб-сервисами, если задача решается тупейшим постбеком на сервер? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2012, 12:05 |
|
||
|
Сымитировать нажатие кнопки
|
|||
|---|---|---|---|
|
#18+
МСУВот это я топик проморгал! ...Ща будет море крови ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2012, 12:10 |
|
||
|
Сымитировать нажатие кнопки
|
|||
|---|---|---|---|
|
#18+
МСУ, а я то думаю, чего молчишь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2012, 13:11 |
|
||
|
Сымитировать нажатие кнопки
|
|||
|---|---|---|---|
|
#18+
Модератор: Стоим на стрёме ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2012, 13:39 |
|
||
|
Сымитировать нажатие кнопки
|
|||
|---|---|---|---|
|
#18+
iConstНу, да - постбек. Если это критично - запихать это в UpdatePanel . В UpdatePanel ReportViewer не работает, всё равно перегружается вся страница. У меня ReportViewer версии 9.0.0.0, Framework 3.5 МСУХренасе, атец?! Ты бы еще дату отправил через голубиную почту На кой ляд тут пейдж методы с веб-сервисами, если задача решается тупейшим постбеком на сервер? А Вы всегда были профессионалом в Web-программировании? Ведь навык приходит с опытом, а если опыта большого нет, вот и приходится выкручиваться "голубиной почтой" c "костылями". Я не могу увидеть сходу решение проблемы. Постбек перегружает целиком страницу, а как я уже написала, UpdatePanel не помогает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2012, 14:35 |
|
||
|
Сымитировать нажатие кнопки
|
|||
|---|---|---|---|
|
#18+
Wild Wolf, да не обижайся ты так МСУ, это же девушка ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2012, 14:38 |
|
||
|
Сымитировать нажатие кнопки
|
|||
|---|---|---|---|
|
#18+
Wild WolfА Вы всегда были профессионалом в Web-программировании? А Вы всегда были не профессионалом в Web-программировании? Wild WolfВедь навык приходит с опытом, а если опыта большого нет, вот и приходится выкручиваться "голубиной почтой" c "костылями". Чтобы не крутиться с костылями, задайте правильно вопрос - как сделать. Подскажем. Wild WolfЯ не могу увидеть сходу решение проблемы. См. выше. Wild WolfПостбек перегружает целиком страницу И что в этом страшного? Wild Wolfа как я уже написала, UpdatePanel не помогает. Так и говорит "Не помогу" ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2012, 15:30 |
|
||
|
Сымитировать нажатие кнопки
|
|||
|---|---|---|---|
|
#18+
Кр-р-ови-щ-щ-а! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2012, 15:48 |
|
||
|
Сымитировать нажатие кнопки
|
|||
|---|---|---|---|
|
#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:23 |
|
||
|
Сымитировать нажатие кнопки
|
|||
|---|---|---|---|
|
#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, 07:52 |
|
||
|
Сымитировать нажатие кнопки
|
|||
|---|---|---|---|
|
#18+
Wild WolfНепонятно, почему не работает частичное обновление... Кажется, понятно теперь... RV не работает с UpdatePanel (вроде, так написано в документации) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2012, 08:01 |
|
||
|
Сымитировать нажатие кнопки
|
|||
|---|---|---|---|
|
#18+
ГОСПОДА! Не читайте мои предыдущие 3 поста, ибо там бред непрофессионала (я не установила триггер на UpdatePanel... :-[ ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2012, 08:08 |
|
||
|
|

start [/forum/topic.php?fid=18&fpage=134&tid=1359777]: |
0ms |
get settings: |
9ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
44ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
76ms |
get tp. blocked users: |
2ms |
| others: | 210ms |
| total: | 375ms |

| 0 / 0 |
