Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Как в csp-странице получить ID вновь созданного объекта / 8 сообщений из 8, страница 1 из 1
06.04.2006, 06:19
    #33647818
ЮрийZ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в csp-странице получить ID вновь созданного объекта
При генерации csp можно использовать механизм #()# для формирования строки передачи параметров в другую csp-страницу. Но как можно сформировать эту строку, если в момент генерации csp-страницы объект еще не существует? А когда он создастся, нужно передать его Id в другю csp-страницу. Например, такой код не работает: <form Name="fmCinema" action="http://127.0.0.1:1972/csp/users/Cinema.csp?ID=obCinema.%Id()">

Есть какие-нибудь механизмы, позволяющие это сделать?
...
Рейтинг: 0 / 0
06.04.2006, 09:20
    #33647951
Maksim UM
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в csp-странице получить ID вновь созданного объекта
Обычно так:
Код: plaintext
1.
<form Name="fmCinema" action="#url(http://127.0.0.1:1972/csp/users/Cinema.csp?ID=#(obCinema.%Id())#)#">
те ?Id=#(...%Id())#
...
Рейтинг: 0 / 0
06.04.2006, 10:16
    #33648104
YuriyY
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в csp-странице получить ID вновь созданного объекта
Всё дело в том, что на момент генерации csp-страницы (в это время происходит замена содержимого #()#) значение obCinema.%Id() не известно, потому что объекта такого еще нет. Этот объект создаётся на странице по кнопке, по которой затем нужно перейти на другую страницу и передать ид вновь созданного объекта. Поэтому вариант
<form Name="fmCinema" action="#url(http://127.0.0.1:1972/csp/users/Cinema.csp?ID=#(obCinema.%Id())#)#">
не проходит, потому что #(obCinema.%Id())# будет иметь пустое значение, а нужно чтобы был ИД вновь созданного объекта
...
Рейтинг: 0 / 0
06.04.2006, 11:24
    #33648400
ну я
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в csp-странице получить ID вновь созданного объекта
ЮрийZПри генерации csp можно использовать механизм #()# для формирования строки передачи параметров в другую csp-страницу. Но как можно сформировать эту строку, если в момент генерации csp-страницы объект еще не существует? А когда он создастся, нужно передать его Id в другю csp-страницу. Например, такой код не работает: <form Name="fmCinema" action="http://127.0.0.1:1972/csp/users/Cinema.csp?ID=obCinema.%Id()">

Есть какие-нибудь механизмы, позволяющие это сделать?
Гиперсобытия + DOM модель браузера?
По нажатию кнопки вызываем гиперсобытие, получаем ид объекта, через DOM обращаемся к форме и формируем action. Можно прописать ид в hidden поле формы, оно передастся той странице которая в action.
...
Рейтинг: 0 / 0
06.04.2006, 11:38
    #33648463
_vassil
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в csp-странице получить ID вновь созданного объекта
Что-то вроде такого:
<form Name="fmCinema" action="#url(http://127.0.0.1:1972/csp/users/Cinema.csp?ID=#server(obCinema.%Id())#)#">
где obCinema - имя класса у которого узнаем Id
...
Рейтинг: 0 / 0
06.04.2006, 14:24
    #33649109
ЮрийZ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в csp-странице получить ID вновь созданного объекта
Такой вариант тоже не работает, потому что строка, которая формируется у атрибута action, формируется без вызова серверного метода и там при нажатии на кнопку получается примерно так:
http://127.0.0.1:1972/csp/users/Cinema.csp?ID=cspRunServerMethod%28%2705UfKE6ao7WDqyt%2F4imYfuvS8M6W3IzRnF9h2O6wJ8K%2FrxnDFJRIqNY47UHeiEIE4Lg_YAwr47yh5CbPRDmoNrtHJyjbBIzxQftX58KXsSw-%27%29&btAddFamily=%C4%EE%E1%E0%E2%E8%F2%FC
...
Рейтинг: 0 / 0
07.04.2006, 06:16
    #33650723
_vassil
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в csp-странице получить ID вновь созданного объекта
Виноват, все гораздо сложнее...

<script language="JavaScript">
function OpenCinema() {
var str = #server(Cinema.%Id()"))#;
OpenModalWindow("http://127.0.0.1:1972/csp/users/Cinema.csp?ID="+str);
}
</script>

<button id="btCinema" style="width=60" onclick="OpenCinema();"> Хочу кина </button>

Опять же... работоспособность не проверял, но идея такая
...
Рейтинг: 0 / 0
07.04.2006, 07:02
    #33650736
_vassil
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в csp-странице получить ID вновь созданного объекта
_vassil var str = #server(Cinema.%Id()"))#;

вот так правильнее: var str = #server(Cinema.%Id())#;
...
Рейтинг: 0 / 0
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Как в csp-странице получить ID вновь созданного объекта / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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