Есть mySObject__c. Сделал страничку mySObject_Button_Page с
standardController="mySObject__c" extensions="mySObject_Button_Extension" action="{!doAction}".
return new PageReference(Page.mySObject_Button_Page.getUrl());
return new PageReference(Page.mySObject_Button_Page.getUrl() + '?id=' + ApexPages.currentPage().getParameters().get('id'));
Есть mySObject__c. Сделал страничку mySObject_Button_Page с [code]standardController="mySObject__c" extensions="mySObject_Button_Extension" action="{!doAction}"[/code]. Я хочу при нажатии на кнопку перейти на эту страничку. В методе action возвращаю [code]return new PageReference(Page.mySObject_Button_Page.getUrl());[/code] Таким макаром СФ мне выдает [quote]An internal server error has occurred[/quote]. Понятно, что что-то делаю неправильно. Пробую [code]return new PageReference(Page.mySObject_Button_Page.getUrl() + '?id=' + ApexPages.currentPage().getParameters().get('id'));[/code] [quote]Formula Expression is required on the action attributes[/quote]. Что-то я растерялся немного.
Так ошибка у тебя на странице с кнопкой и методом или при открытии страницы по редиректу?
Так ошибка у тебя на странице с кнопкой и методом или при открытии страницы по редиректу?
Что-то я первый раз вижу такую конструкцию для редиректа?
Page.mySObject_Button_Page.getUrl()
Это для чего так сделано?
[quote="Chiz"]return new PageReference(Page.mySObject_Button_Page.getUrl());[/quote] Что-то я первый раз вижу такую конструкцию для редиректа? [b]Page.mySObject_Button_Page.getUrl()[/b] Это для чего так сделано?
почему так не сделать?
PageReference pref = Page.MyPage;
pref.getParameters().put('id', object.Id);
pref.setRedirect(true);
return pref;
почему так не сделать? [code]PageReference pref = Page.MyPage; pref.getParameters().put('id', object.Id); pref.setRedirect(true); return pref;[/code]
Я сделал просто
return Page.MyPage;
Копец!
Я по ходу выкупил че к чему.
Я делаю редирект на саму себя. Когда она загружается - опять редирект на саму себя. Вот СФ и с ума сходит.
Я сделал просто [code]return Page.MyPage;[/code] Копец! Я по ходу выкупил че к чему. Я делаю редирект на саму себя. Когда она загружается - опять редирект на саму себя. Вот СФ и с ума сходит.
[quote="Dmitry Shnyrev"]Так ошибка у тебя на странице с кнопкой и методом или при открытии страницы по редиректу?[/quote]На странице, на которую я перехожу.
Сделал отдельно страничку для кнопки
<apex:page standardController="MySObject__c" action="{!URLFOR($Page.MyPage)}?id={!MySObject__c.Id}" ></apex:page>
Сделал отдельно страничку для кнопки [code]<apex:page standardController="MySObject__c" action="{!URLFOR($Page.MyPage)}?id={!MySObject__c.Id}" ></apex:page> [/code]
Что-то я не пойму, что это у тебя такое в action происходит. Зачем это?
Что-то я не пойму, что это у тебя такое в action происходит. Зачем это?
[quote="Dmitry Shnyrev"]Что-то я не пойму, что это у тебя такое в action происходит. Зачем это?[/quote]Чтоб на страничку перейти при нажатии на кнопку.
Что-то я совсем не догоняю. При чем здесь в apex:page action для того чтобы по нажатию на кнопку перейти на другую страницу?
Насколько я понимаю action вызывает метод после конструктора. Вообще не понимаю как это связано с кнопками.
Что-то я совсем не догоняю. При чем здесь в apex:page [b]action[/b] для того чтобы по нажатию на кнопку перейти на другую страницу? Насколько я понимаю action вызывает метод после конструктора. Вообще не понимаю как это связано с кнопками.
Создается страница. Назначается на кнопку на объекте. На странице объекта нажимается кнопка. И пользователь переходит на нужную мне страницу.
Да, в описании не написанно про конструктор, и мне лень протестить. Но я подозреваю, что как раз наоборот - сначала экшн метод, а птм конструктор.
Хотя, это странно, он не статический...
Создается страница. Назначается на кнопку на объекте. На странице объекта нажимается кнопка. И пользователь переходит на нужную мне страницу. [quote]The action method invoked when this page is requested by the server. Use expression language to reference an action method. For example, action="{!doAction}" references the doAction() method in the controller. If an action is not specified, the page loads as usual. If the action method returns null, the page simply refreshes. This method will be called before the page is rendered and allows you to optionally redirect the user to another page. This action should not be used for initialization.[/quote] Да, в описании не написанно про конструктор, и мне лень протестить. Но я подозреваю, что как раз наоборот - сначала экшн метод, а птм конструктор. Хотя, это странно, он не статический...
А почему просто не повесить на кнопку javascript который редиректнет на нужную страницы?
Зачем такие сложности с одной страницей которая редиректит на другую? Почему сразу на кнопку не повесить нужную страницу?
А почему просто не повесить на кнопку javascript который редиректнет на нужную страницы? Зачем такие сложности с одной страницей которая редиректит на другую? Почему сразу на кнопку не повесить нужную страницу?
А нельзя JS использовать при переопределении кнопки. Та и не люблю я JS :-)
Хотя, можно с таким же названием кнопку и там JS.
А как в с помощью JS вытянуть Id текущей записи?
А нельзя JS использовать при переопределении кнопки. Та и не люблю я JS :-) Хотя, можно с таким же названием кнопку и там JS. А как в с помощью JS вытянуть Id текущей записи?