---
title: Create MVC component
slug: cms-12/docs/creating-a-component
docTags: 
createdAt: 2026-08-10T15:55:55.000Z
---

The Optimizely Content Management System (CMS) extension of the `IFrameComponent` has the following additional parameters:

- `UrlFromUtil`  – Optional. The URL to the source, relative to the `Utils` folder. Used instead of Url property.
- `UrlFromUi`  – Optional. The URL to the source, relative to the `UI` folder. Used instead of Url property.

First, you need to add a controller. The controller has to be annotated with an `IframeComponent `attribute.

```csharp
[IFrameComponent(Url = "/helloworld", Title = "Hello World Component", Categories = "content")]
public class HelloWorldController: Controller {
  public ActionResult Index() {
    return View();
  }
}
```

Then add a `Index.cshtml` view to the `Views/HelloWorld` directory:

```csharp
@{
   Layout = null;
}
    
<!DOCTYPE html>
<html>
  <head>
    <meta name="viewport" content="width=device-width" />
    <title>HelloWorld</title>
  </head>
  <body>
    <div>
      <div>Hello World</div>
    </div>
  </body>
</html>
```
