Открыть URL ссылку....

Есть текстовое поле, в нем URL, хочу кнопку, чтобы этот url открыть в новом окне браузера.

Нравится

26 комментариев

Александр, никогда такого не реализовывал, но по идее на Init'e нужно прописать клиентскую js-функцию клика на кнопку:

что-то вроде

button1.Attributes.Add("onclick", "window.open('help.htm', '', '', 'height=200,width=400'");
// or whatever
//button1.Attributes.Add("onclick", "anyJavaScriptFunction");

Примеры добавления js-функций можно поискать в конфигурации.

весело :smile:
хотя казалось бы что уж проще.....

Решил пойти другим путем, но почему не срабатывает.
На карточке редактирования сделал надпись URLLinkLabel рядом с полем, но код

Page.URLLinkLabel.Caption = "<center><a href=\"http://yandex.ru/\"">Zzz...</a></center>"";

То есть идей ни у кого нет....прискорбно.....

Если код

Page.URLLinkLabel.Caption = "<center><a href=\"http://yandex.ru/\"">Zzz...</a></center>"";

Событие Init, я писал в первом посте :)

Не срабатывает, хотя проверю еще раз....

Здравствуйте, Александр!

Попробуйте либо после базового события Init, либо после базового PageLoadComplete.

тоже дома не сидится по выходным? :biggrin: сейчас попробую, только сервера переставлю на положенное место

Вопрос вот в чем: если я открываю процесс своей карточки редактирования, то у меня там нет ничего...ни init, ни pageloadcomplete, а есть они если открыть родительский процесс. Если я изменю родительский процесс, то есть процесс Базовой страницы редактирования, от которой унаследована моя страница, то эти изменения будут для всех страниц редактирования, которые я унаследую потом от базовой?

Да, так делать не стоит.

Просто добавьте сперва событийный подпроцесс, в него добавьте стартовый элемент с типом сообщение, в свойстве сообщение - пропишите Init. Далее - реализуйте свою логику, и в самом конце генерирующий сигнал с типом сообщение, сообщение также Init, но галочку "отправить" в родительский процесс ставьте. Если в родительский не отправите, то это будет переопределение события, и, скорее всего, карточка не запуститься :)

Мммммм, понял, попробую...

Сделал вот так, в скрипте одна срочка

Page.URLLinkLabel.Caption = "<center><b><a href=\"" + Page.LotURLTextEdit.Value + ""\"" target=\""_blank\"">>>>></a></b></center>"";

Поместите все эти элементы в событийный продпроцесс:

гм.....заработало, только я, наверное как не так значение поля достаю по всей видимости.
Так как вместо ссылки, вроде http://yandex.ru, которое и написано в поле, подставляет туда ссылку НА САМУ КАРТОЧКУ ЭТОЙ ЗАПИСИ.....
на скриншоте видно, слева поле с URLом, справа ссылка в виде >>>>>, курсор мыши как раз на ней и внизу показывается адрес куда она ведет........

URL Link

Значение поля достаю так:

Page.LotURLTextEdit.Value

Короче, проблема в том, что я никак не могу достать значение колонки LotURL
Пробовал через поле редактирования, не получается, так как если брать Page.LotURLtextEdit.Value то получается какой то бред, а если добавить .ToString(), то вообще пустая строка.....

Если пойти через DataSource, все еще хуже: просто падает:

Exception Message: Object reference not set to an instance of an object.
на вызове
Page.DataSource.ActiveRow.GetTypedColumnValue("LotURL")

Вот такая диагностика....

Проблема в ActiveRow.....
То ли в данный момент ее ещё нет, то ли текущая строка по другому называется....

Так оно и есть, как показала диагностика

DataSource.ActiveRowPrimaryColumnValue

на данном этапе весь из себя нулевой, то есть и ActiveRow пуст напрочь, почему оно и падает.

Все верно, на Init'e DataSource не заполнен еще.

Попробуйте сделать тоже самое, но в скрипте после базового PageLoadComplete:

PageLoadComplete > BasePageLoadComplete > Script.

А на какое сообщение вешаться?

PageLoadComplete

При попытке добавить сообщение PageLoadComplete ругается что такой идентификатор уже существует....

Сделал скрипт
PageLoadComplete -->> MyScript -->> PageLoadComplete в родительский процесс
НО! DataSource.ActiveRowPrimaryColumnValue все равно пустое!!!
Не понимаю куда повесить скрипт....

После BasePageLoadComplete пробовали?

PageLoadComplete -->> PageLoadComplete в родительский процесс -->> MyScript

Да, все точно так, просто сначала не понял, все заработало, спасибо.
Я просто сначала не понял, что надо сразу после перехвата PageLoadComplete пнуть родительский процесс, а потом уже после того как все отработает творить свои гнусности :smile:

Показать все комментарии