Make your websites with Razor
Razor is a view engine option for ASP.NET. And Composite C1 allows you to use the Razor syntax to create and use yet another type of C1 Functions - "Razor functions".
Note. Although Razor is often associated with MVC, you do not need MVC support on your Composite C1 website to start creating and using Razor functions. If you, however, do need Razor bundled with MVC, please consider using MVC Player.
In Composite C1 v 4.0 or later, Razor functions are "first-class citizens".
(In earlier Composite C1 versions, you can make use of the C1Contrib's Razor Functions.)
The Razor functions are available in Composite C1 for insertion on pages, templates, in other functions and in function calls in the C1 Console.
Note. To quickly create boilerplate-code Razor functions (as well as Razor page template) from Visual Studio 2012, install an ad-hoc Visual Studio 2012 extension by Composite C1: CompositeC1RazorExtensions.vsix. (It works with Visual Studio 2012 only.)
In this guide, you'll learn how to create, edit and use Razor functions.
- Creating Razor Functions
Learn how to create Razor functions in Composite C1
- Defining Parameters
Learn how to define parameters in Razor functions.
- Changing Widgets
Learn how to change widgets for Razor function parameters.
- Changing Return Types
Learn how to change types of return values in Razor functions.
- Getting C1 Data
Learn how to get C1 data in Razor functions.
- Rendering URLs
Learn how to render Page URLs and Media URLs in Razor functions.
- Execute Other Functions
Learn how to execute other functions in Razor functions.
- List to Details
Learn how to create a simple List-to-Details function for C1 Pages using Razor.
Learn by example and check a few sample Razor functions.
- Advanced Setup
Learn how to change the root folder for your .cshtml files (Razor functions) and do other advanced setup tasks.
- Getting Error Info
Learn how to get error information on Razor functions.
Note. This article is about Composite C1 v.4.0 or later. For earlier versions please see the legacy documentation.