Here is a small code to create a summary page in the 2e step of a umbraco contour form
this code is for Umbraco 7+ with Contour 3
First create the contour form and call it forexample “ContactForm”, add 2 or 3 fields “name”, “lastname”, “email”, then add a 2e step, on the 2e step dont add any fields yet, and save the form

now lets create the custom field.
create a class file in the app_code folder and call it “ContactUsSummaryFieldType.cs”
then add the code below, don’t forget to rename the namespace to the one that you are using
using System;
using System.Collections.Generic;
using Umbraco.Forms.Core;
namespace JB.Umbraco.Demo
{
///
/// Creates the custom field type to be used in contour forms
///
public class ContactUsSummaryFieldType : FieldType
{
public ContactUsSummaryFieldType()
{
// set the field info, this info is showed when adding this field to a contour form
this.Id = new Guid("**CREATE A NEW GUID AND PLACE IT HERE**");
this.Name = "ContactUsSummary";
this.Description = "Shows the contact us summary in the 2e step of the form";
this.Icon = "contactussummary.png";
}
///
/// Text that is being showed in the rich text editor
///
/// description text
public override string RenderPreview()
{
return "Contact us summary";
}
///
/// you could use this to pre render values into the form fields
///
///
///
public override string RenderPreviewWithPrevalues(List prevalues)
{
return "Contact us summary";
}
}
}
then create a class and call it “Fieldtype.contactussummary.cshtml” and place that file in the umbraco folder “/umbraco/plugins/views/”
copy and paste the code below
@model Umbraco.Forms.Mvc.Models.FieldViewModel
@{
string formGuid = Request["FormId"];
if (!string.IsNullOrWhiteSpace(formGuid))
{
string pageId = umbraco.presentation.nodeFactory.Node.GetCurrent().Id.ToString();
string cookieName = String.Format("contour_{0}_{1}", pageId, formGuid);
string recordId = Request.Cookies[cookieName].Value;
dynamic record = null;
if (!string.IsNullOrWhiteSpace(recordId))
{
// get access to the database where the form records are stored
using (var recordStorage = new Umbraco.Forms.Data.Storage.RecordStorage())
{
// get the record by id, but the id is a guid
var rec = recordStorage.GetRecord(new Guid(recordId));
// get the dynamic record object, this object is stored as xml in the database in table UFRecordsXML
record = new Umbraco.Forms.Mvc.DynamicObjects.DynamicRecord(rec);
}
@record.Created.ToString("dd MMMM yyy")
foreach (var field in record.RecordFields)
{
// First, build table rows for non-editable fields
var fieldName = field.Value.Field.Caption;
var fieldValue = field.Value.ValuesAsString();
@fieldName - @fieldValue
}
}
}
}
Thnx!
now compile your code, to see if all compiles, it should if you did everything correct
now go back to your created form in umbraco contour in the back end and go to step 2 of you form, and click to add a field and select the contactsummaryfield

save your form, and create a page where you can add the form into, then browse to that page to see the code in action.
hope this helps you out to
Greets JB