Rendering URLs
Render Page URLs and Media URLs in Razor functions
To render a page URL or a media URL in a C1 CMS compliant way, use ~/page(...) and ~/media(...):
@inherits RazorFunction
@functions {
public DataReference<IPage> Page { get; set; }
public DataReference<IMediaFile> Image { get; set; }
}
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
</head>
<body>
<a href="/page(@Page)">
<img src="/media(@Image)" alt="..."/>
</a>
</body>
</html>
Alternatively, you can use the ad-hoc helper methods from the Html helper: PageUrl and MediaUrl:
@inherits RazorFunction
@functions {
public DataReference<IPage> Page { get; set; }
public DataReference<IMediaFile> Image { get; set; }
}
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
</head>
<body>
<a href="@Html.C1().PageUrl(@Page)">
<img src="@Html.C1().MediaUrl(@Image)" alt="..."/>
</a>
</body>
</html>

