First Steps with Client-Side UI for Blazor
This article explains how to get the Telerik UI for Blazor components in your Client-side (WebAssembly) Blazor project and start using them quickly. You will create a new application from scratch, learn how to add the UI for Blazor components to a project, and finally, add a UI component to a view.
This step-by-step tutorial starts with the basics. If you are already familiar with the Telerik NuGet Feed and Blazor in general, you may prefer the Telerik UI for Blazor workflow article.
Prerequisites
To successfully complete the steps in this tutorial, make sure that you have installed a current Visual Studio version.
To learn more about the compatibility of the Telerik UI for Blazor components with different browser and .NET versions, see the system requirements.
This online documentation covers the latest version of Telerik UI for Blazor, which is
5.0.1
. If needed, download the offline PDF documentation for the required older product version.
Step 0: Download Telerik UI for Blazor
If you have already purchased a Telerik UI for Blazor license, continue with the next step and create a new project.
If you are new to UI for Blazor and haven't purchased a license yet, you must download and install the trial version of the UI for Blazor components—this will activate your free trial and allow you to use the components. During the installation, select the Set up Telerik NuGet package source checkbox and the installer will configure the Telerik online NuGet feed automatically. You will use this feed later in the tutorial.
Trial users must complete the installation of the components. Otherwise their trial license will not be active and they cannot successfully complete the tutorial.
Step 1: Create a New Project
Open Visual Studio and select Create a new project.
Select the Blazor WebAssembly App project type, enter a name for your project, and then click Next.
Select the ASP.NET Core hosted checkbox and the desired framework, and then click Create.
Step 2: Add the Telerik NuGet Feed to Visual Studio
In this tutorial, you will use the Telerik NuGet feed to download the UI for Blazor components. This NuGet feed is private and requires you to authenticate with your Telerik user name and password:
In Visual Studio and go to Tools > NuGet Package Manager > Package Manager Settings.
Select Package Sources and then click the + button to add a new package source.
Enter a Name for the new package source, for example,
telerik.com
.-
Add the
https://nuget.telerik.com/v3/index.json
URL as a Source. Click OK.
For alternative download options, check the Workflow article.
Step 3: Install the Telerik UI for Blazor Components
-
Right-click the
.Client
project in the solution and select Manage NuGet Packages. -
Install the Telerik Blazor NuGet package:
- Select the
telerik.com
Package source that you added earlier. As this is a private NuGet feed, you must authenticate with your Telerik account user name and password. - Select the Browse tab, find the NuGet package, and click Install. Commercial license holders should install
Telerik.UI.for.Blazor
. Trial users should installTelerik.UI.for.Blazor.Trial
.
- Select the
Step 4: Enable the Blazor UI Components
To enable the Telerik UI for Blazor components, you must add several client-side dependencies to the application, include the required @using
statements, add the TelerikRootComponent
component, and register the Telerik Blazor service.
4.1. Add the Telerik UI for Blazor Client Assets
1. Add the telerik-blazor.js
file to your main index file—wwwroot/index.html
.
HTML
<head>
. . .
<script src="_content/Telerik.UI.for.Blazor/js/telerik-blazor.js" defer></script>
<!-- For Trial licenses, use
<script src="_content/Telerik.UI.for.Blazor.Trial/js/telerik-blazor.js" defer></script>
-->
</head>
2. To enable the use of static assets in your project, add the app.UseStaticFiles();
line to the Program.cs
file of your .Server
project (by default, this line is already present).
C#
var app = builder.Build();
// ...
//To enable static files from a package, make sure this is present.
app.UseStaticFiles();
// ...
app.Run();
3. In the ~/wwwroot/index.html
file of the client web application, add the theme stylesheet as a static asset or from a CDN. The theme allows you to select the appearance and color scheme for the Telerik Blazor components.
<head>
. . .
<link rel="stylesheet" href="_content/Telerik.UI.for.Blazor/css/kendo-theme-default/all.css" />
<!-- For Trial licenses, use
<link rel="stylesheet" href="_content/Telerik.UI.for.Blazor.Trial/css/kendo-theme-default/all.css" />
-->
</head>
4.2. Include @using Statements
In the ~/_Imports.razor
file, add the @using
directives below. This configures the project to recognize the Telerik components in all files. You can register one or both icon namespaces, depending on the icon type you will be using.
_Imports.razor
@using Telerik.Blazor
@using Telerik.Blazor.Components
@using Telerik.FontIcons
@using Telerik.SvgIcons
4.3. Add the TelerikRootComponent
Add a TelerikRootComponent
component as a top-level component in the app and make sure it wraps all content.
To use popups (for example, dropdowns, menus, windows, grid filters, etc.), you must add the TelerikRootComponent
component at the root level of the app:
Next to your main layout file (by default, the ~/Shared/MainLayout.razor
file in the Blazor project), add a Razor component called TelerikLayout.razor
with the following content:
@inherits LayoutComponentBase
<TelerikRootComponent>
@Body
</TelerikRootComponent>
In the main layout file (by default, the ~/Shared/MainLayout.razor
file in the Blazor project), add @layout TelerikLayout
as the first line in the file. This will ensure that the TelerikRootComponent
wraps all the content in the MainLayout
.
@layout TelerikLayout
@inherits LayoutComponentBase
@* @Body and other code will be present here depending on your project *@
Alternatively, the
TelerikRootComponent
can reside directly in theMainLayout
, but it must wrap all the other content, otherwise popups may display at the wrong position. Placing theTelerikRootComponent
in a separate Razor file helps for a better separation of concerns.
4.4. Register the Telerik Blazor Service
In the ~/Program.cs
file of the client web application, register the Telerik Blazor service.
C#
using ClientBlazorProject;
using Microsoft.AspNetCore.Components.Web;
using Microsoft.AspNetCore.Components.WebAssembly.Hosting;
// sample host builder for a WASM app, yours may differ
var builder = WebAssemblyHostBuilder.CreateDefault(args);
builder.RootComponents.Add<App>("#app");
builder.RootComponents.Add<HeadOutlet>("head::after");
builder.Services.AddScoped(sp => new HttpClient { BaseAddress = new Uri(builder.HostEnvironment.BaseAddress) });
// Register the Telerik services.
builder.Services.AddTelerikBlazor();
await builder.Build().RunAsync();
Now your project can use the Telerik UI for Blazor components.
Step 5: Add a Component to a View
The final step in this tutorial is to use a Telerik UI for Blazor component in a view and run it in the browser.
-
In the
~/Pages/Index.razor
view, add aTelerikButton
component.RAZOR
<TelerikButton>Say Hello</TelerikButton>
-
Optionally, hook up a click handler that will show a message. The resulting view will look like this:
RAZOR
@page "/" <TelerikButton OnClick="@SayHelloHandler" ThemeColor="primary">Say Hello</TelerikButton> <br /> @helloString @code { MarkupString helloString; void SayHelloHandler() { string msg = string.Format("Hello from <strong>Telerik Blazor</strong> at {0}.<br /> Now you can use C# to write front-end!", DateTime.Now); helloString = new MarkupString(msg); } }
-
Run the app in the browser by pressing
F5
. You should see something like this:
Well done! Now you have you first Telerik UI for Blazor component running in your Blazor app.
Next Steps
Video Tutorial
If you prefer video instructions, you can also check the video tutorial below.