课程章节介绍
同学们,今天我们来学习如何在Salesforce中实现重定向至结果页面的功能。这个功能在很多业务场景中都非常有用,比如在搜索后展示结果,或者在提交表单后跳转到另一个页面。我们一步步来,确保大家都能跟上。
### 1. 在控制器中添加返回页面引用的行(TODO#1)
首先,我们需要在控制器中添加一行代码,用来导航到`listDeliveries`中的`ListCourseDeliveries`页面。这个页面是用来展示课程交付信息的列表。你可以想象成,当你点击某个按钮后,系统会自动跳转到这个列表页面。
```apex
public PageReference listDeliveries() {
PageReference pageRef = new PageReference('/apex/ListCourseDeliveries');
pageRef.setRedirect(true);
return pageRef;
}
```
这段代码的意思是,当我们调用`listDeliveries`方法时,系统会创建一个新的页面引用,指向`ListCourseDeliveries`页面,并且设置重定向为`true`,确保页面跳转。
### 2. 编写交付属性(TODO#2)
接下来,我们需要在控制器中编写交付属性。这个属性是用来存储我们从数据库中查询到的交付信息。你可以把它想象成一个容器,用来存放我们要展示的数据。
```apex
public List deliveries { get; set; }
public YourControllerClass() {
deliveries = [SELECT Id, Name, Course__c, Start_Date__c, End_Date__c FROM Course_Delivery__c];
}
```
在这段代码中,我们定义了一个`deliveries`属性,它是一个`Course_Delivery__c`对象的列表。在控制器的构造函数中,我们查询了所有`Course_Delivery__c`记录,并将结果赋值给`deliveries`属性。
### 3. 添加`newSearch()`方法(TODO#2)
接下来,我们需要添加一个`newSearch()`方法。这个方法的作用是清空当前的搜索结果,并重新加载页面,以便用户可以开始新的搜索。
```apex
public PageReference newSearch() {
deliveries.clear();
return null;
}
```
这个方法很简单,它只是清空了`deliveries`列表,并返回`null`,表示页面不需要跳转。
### 4. 在页面中添加页面块表(TODO#3)
现在,我们来到页面的部分。我们需要在页面上添加一个表格,用来展示我们查询到的交付信息。这个表格应该包含以下几列:`Name`、`Course`、`Start Date`和`End Date`。
```html
```
这段代码创建了一个表格,每一行对应一个`delivery`对象,每一列展示`delivery`的不同属性。
### 5. 在页面顶部添加`newSearch`按钮(TODO#4)
最后,我们需要在页面的顶部添加一个`newSearch`按钮。这个按钮的作用是让用户能够重新开始搜索。
```html
```
这个按钮会调用我们之前定义的`newSearch()`方法,清空当前的搜索结果,并重新加载页面。
---
好了,同学们,这就是我们今天要学习的内容。我们一步步实现了从控制器到页面的重定向功能,并且添加了搜索结果的展示和重新搜索的功能。希望大家都能理解并掌握这些知识点。如果有任何问题,随时提问!