0

これがセットアップです。カスタムボタンを備えた標準のページレイアウトがあります。

ユーザーがボタンをクリックしたときに、拡張クラスの値を確認したい。値が null または 0 の場合は、ページ メッセージを表示する必要があります。それ以外の場合は、それらを別のVFページにリダイレクトします。

私がこれを行おうとしている方法は、ページ レイアウトに VF セクションを配置し、action:support メソッドを使用して条件付きでレンダリングすることですが、動作させることができません..

はる!

4

2 に答える 2

0

ボタンから呼び出されたメソッドが を返す場合、オブジェクトをPageReference作成し、そのメソッドを使用してリダイレクトを実行できます。おそらく今すぐ戻ってくるでしょう。これは「何もしない」ことを示しています。PageReference.setRedirect( True)Null

. _ PageReference_ new ApexPages.StandardController()_Page.vfPageName

メソッドがそれを返すとPageReference、ブラウザは新しい URL にリダイレクトします。

于 2012-08-14T21:51:13.213 に答える
0

VF ページをレイアウトに追加する必要はありません。
カスタム ボタンに Salesforce AJAX Toolkit を使用してみてください。

1) まず、値を計算する WebService を作成します。

global with sharing class yourController{
    WebService static Integer calculateValue(Integer i) { 
        Integer result = i + 5;
        return result; 
    }
}

2) 次に、オブジェクトのカスタム ボタンを作成します。
表示タイプ - 詳細ページ ボタン
の動作 - JavaScript の実行
コンテンツ ソース - onClick JavaScript

3) 次に、このコードをボタンに追加します。

// Loading the ajax toolkit data
{!REQUIRESCRIPT("/soap/ajax/20.0/connection.js")}
{!REQUIRESCRIPT("/soap/ajax/10.0/apex.js")}

// Making a call to the webservice method
var value = sforce.apex.execute("yourController","calculateValue", {i:5});

// If the value is 0 or blank            
if(value == 0 || value == ''){
    // Pop up a message
    alert('Your message text here');
else{
    // Otherwise redirecting user to another page
    window.location = "/apex/YourCustomPage";
}

4) ボタンを保存し、レイアウト ページに追加することを忘れないでください :)

于 2012-08-08T18:30:56.177 に答える