如何从另一个visualforce页面链接一个visualforce页面?

问题描述 投票:0回答:2

我想添加两个在vf页面文本框中给出的数字。我想通过单击第一页中的按钮(添加按钮)将结果打印到另一个vf页面。

请帮我做那个....

谢谢,

apex-code
2个回答
0
投票

您可以通过路由到Visualforce中的下一页并将要显示的值作为参数传递来执行此操作。在Apex中的这样的东西应该工作:

PageReference gotoPage()
{
   PageReference pr = Page.YourSecondVFPage;
   pr.getParameters().put('secondnumber', '' + this.secondNumber);
   pr.setRedirect(true);
   return pr;
}

然后在Visualforce中:

<apex:commandButton value="Go!" action="{!gotoPage}"/>

0
投票

我想你可能想尝试在两个页面上使用相同的控制器。这样你就不必传递所有数据,假设你不仅仅需要维护几个字段,作为url参数,或者如果你不需要那么必须将数据存储在某个地方。

如果两个页面都使用相同的控制器,并且使用PageReference重定向用户时,请确保将重定向值设置为false,否则Salesforce会将其视为新请求并使用新的控制器实例启动该页面。

下面的示例代码允许用户在字段中键入一些文本,然后在单击打印视图时,它使用相同的信息呈现PDF。没有数据保存到数据库。

调节器

public with sharing class MyController {

public string MyData {get;set;}

public MyController() {
    MyData = '';    
}

public PageReference printView() {
    PageReference oPageRef = Page.MyPage2;
    oPageRef.setRedirect(false);

    return oPageRef;
}
}

第1页:

<apex:page controller="MyController">
<apex:sectionheader title="Test" subtitle="My Page"/>

<apex:form id="formData">
    <apex:pageBlock title="My Data">
        <apex:pageBlockButtons >
            <apex:commandButton value="Printable View" action="{!printView}" />
        </apex:pageBlockButtons>

        <apex:pageBlockSection >
            <apex:pageBlockSectionItem >
                <apex:outputLabel value="My Data"/>
                <apex:inputTextArea value="{!MyData}" />
            </apex:pageBlockSectionItem>
        </apex:pageBlockSection>
    </apex:pageBlock>
</apex:form>
</apex:page>

第2页:

<apex:page controller="MyController"
renderAs="pdf">

{!MyData}
</apex:page>
© www.soinside.com 2019 - 2024. All rights reserved.