Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions _config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -60,13 +60,13 @@ navigation:
position: 23
"getting-started/vs-integration":
title: "Visual Studio Integration"
position: 25
position: 35
"getting-started/vs-code-integration":
title: "Visual Studio Code Integration"
position: 26
position: 36
"getting-started/repl":
title: "Telerik REPL for Blazor"
position: 35
position: 37
"backwards-compatibility":
title: "Breaking Changes"
position: 30
Expand Down
2 changes: 1 addition & 1 deletion components/rootcomponent/overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ The `TelerikRootComponent` achieves all these tasks with the help of [cascading

This section applies to:

* .NET 8 Blazor Web Apps with **Global** interactivity location. If your app has **Per page/component** interactivity, then refer to section [Interactivity Considerations](#interactivity-considerations) below.
* .NET 8 and .NET 9 Blazor Web Apps with **Global** interactivity location. If your app has **Per page/component** interactivity, then refer to section [Interactivity Considerations](#interactivity-considerations) below.
* Blazor Server, WebAssembly and Hybrid apps in all .NET versions

The recommended way to add `TelerikRootComponent` to a Blazor app is to:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ In apps with **Per page/component** interactivity, the layout files are static.
* [Change the application's render mode to interactive at runtime](#change-the-app-render-mode-at-runtime) for specific pages.
* [Use an empty layout for pages with Telerik components](#use-empty-layout) and duplicate the contents of the regular app layout to another `.razor` file.

The sections below provide additional information for each of the three options. Review this [.NET 8 Blazor Web App sample project on GitHub](https://github.com/telerik/blazor-ui/tree/master/rootcomponent/BlazorWebAppServer), which also demonstrates all three options.
The sections below provide additional information for each of the three options. Review this [Blazor Web App sample project on GitHub](https://github.com/telerik/blazor-ui/tree/master/rootcomponent/BlazorWebAppServer), which also demonstrates all three options.


## Add TelerikRootComponent to Interactive Pages
Expand Down Expand Up @@ -128,7 +128,7 @@ In this scenario, [add a `TelerikRootComponent` to a layout]({%slug rootcomponen

## Use Empty Layout

In this scenario, use a regular layout (`MainLayout.razor`) for static pages and another empty layout (for example, `EmptyLayout.razor`) for interactive pages with Telerik components. The contents of `MainLayout.razor` must be copied to a non-layout `.razor` page, which uses the empty layout. Here are the detailed steps, which refer to a [.NET 8 Blazor Web App sample project on GitHub](https://github.com/telerik/blazor-ui/tree/master/rootcomponent/BlazorWebAppServer):
In this scenario, use a regular layout (`MainLayout.razor`) for static pages and another empty layout (for example, `EmptyLayout.razor`) for interactive pages with Telerik components. The contents of `MainLayout.razor` must be copied to a non-layout `.razor` page, which uses the empty layout. Here are the detailed steps, which refer to a [Blazor Web App sample project on GitHub](https://github.com/telerik/blazor-ui/tree/master/rootcomponent/BlazorWebAppServer):

1. Create a [new layout file `EmptyLayout.razor`](https://github.com/telerik/blazor-ui/blob/master/rootcomponent/BlazorWebAppServer/Components/Layout/EmptyLayout.razor) in the same folder as `MainLayout.razor`.
1. Copy the contents for `MainLayout.razor` to a [non-layout `.razor` file, for example, `Shared/LayoutContainer.razor`](https://github.com/telerik/blazor-ui/blob/master/rootcomponent/BlazorWebAppServer/Components/Shared/LayoutContainer.razor).
Expand All @@ -142,7 +142,7 @@ This code duplication requires more effort to maintain, but avoids [possible iss

## See Also

* [.NET 8 Blazor Web App sample project on GitHub](https://github.com/telerik/blazor-ui/tree/master/rootcomponent/BlazorWebAppServer)
* [Blazor Web App sample project on GitHub](https://github.com/telerik/blazor-ui/tree/master/rootcomponent/BlazorWebAppServer)
* [Setting up Telerik Blazor apps]({%slug getting-started/what-you-need%})
* [ASP.NET Core Blazor render modes](https://learn.microsoft.com/en-us/aspnet/core/blazor/components/render-modes)
* [Video: Intro to Blazor in .NET 8 - SSR, Stream Rendering, Auto](https://www.youtube.com/watch?v=walv3nLTJ5g)
8 changes: 4 additions & 4 deletions getting-started/client-blazor.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
---
title: Blazor WebAssembly (Tutorial)
title: Blazor WebAssembly Standalone App
page_title: First Steps with Blazor WebAssembly Apps
description: Make your first steps with Telerik UI for Blazor client-side by using Blazor WebAssembly (WASM). Read more!
slug: getting-started/client-side
tags: get,started,first,steps,client
published: true
position: 5
position: 10
---

# First Steps with Blazor Client-Side
Expand All @@ -15,9 +15,9 @@ This article explains how to get the <a href = "https://www.telerik.com/blazor-u
> This article applies only to the following Visual Studio project templates:
>
> * **Blazor WebAssembly App**, which exists up to .NET 7.
> * **Blazor WebAssembly Standalone App** for .NET 8.
> * **Blazor WebAssembly Standalone App** for .NET 8 and newer versions.
>
> If you prefer the .NET 8 **Blazor Web App** template, then follow the [tutorial about .NET 8 Blazor Web App]({%slug getting-started/web-app%}).
> If you prefer the **Blazor Web App** template for .NET 8 and newer versions, then follow the [tutorial about Blazor Web Apps]({%slug getting-started/web-app%}).

@[template](/_contentTemplates/common/get-started.md#prerequisites-tip)

Expand Down
7 changes: 3 additions & 4 deletions getting-started/hybrid-blazor.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
---
title: Blazor Hybrid with .NET MAUI
title: Blazor Hybrid App with .NET MAUI
page_title: First Steps with Blazor Hybrid Apps and Telerik UI for Blazor
description: Make your first steps with Telerik UI for Blazor and build a .NET MAUI Blazor Hybrid app that runs the UI for Blazor components.
slug: getting-started/hybrid-blazor
tags: get,started,first,steps,server,hybrid,maui
published: true
position: 15
position: 20
---

# First Steps with Blazor Hybrid
Expand All @@ -20,8 +20,7 @@ This article provides details on how to setup the apps to use the Telerik UI for

Before adding the Telerik UI for Blazor components, ensure that the corresponding technology stack is set up and the basic Blazor Hybrid WebView runs as expected in this stack.


1. Install the latest version of [.NET 6.0](https://dotnet.microsoft.com/en-us/download/dotnet/6.0). It requires [Visual Studio 2022 Preview for Windows](https://visualstudio.microsoft.com/vs/preview/) or [Mac](https://docs.microsoft.com/en-us/visualstudio/releasenotes/vs2019-mac-preview-relnotes).
1. Install the [latest version of .NET](https://dotnet.microsoft.com/en-us/download/dotnet) and [Visual Studio](https://visualstudio.microsoft.com/vs/preview/).

1. Install [WebView](https://docs.microsoft.com/en-us/dotnet/maui/user-interface/controls/webview).

Expand Down
6 changes: 3 additions & 3 deletions getting-started/server-blazor.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
---
title: Blazor Server (Tutorial)
title: Blazor Server App
page_title: First Steps with Blazor Server Apps and Telerik UI for Blazor
description: Make your first steps with Telerik UI for Blazor and build an app that runs the UI components server-side in Blazor server.
slug: getting-started/server-side
tags: get,started,first,steps,server
published: true
position: 1
position: 15
---

# First Steps with Server-Side UI for Blazor

This article explains how to get the Telerik UI for Blazor components in your .NET 6 or 7 Blazor Server app 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 article applies only to the **Blazor Server App** template in Visual Studio, which exists up to .NET 7. If you are using .NET 8, then follow the [tutorial about .NET 8 Blazor Web App]({%slug getting-started/web-app%}).
> This article applies only to the **Blazor Server App** template in Visual Studio, which exists up to .NET 7. If you are using newer .NET versions, then follow the [tutorial about Blazor Web Apps]({%slug getting-started/web-app%}).

@[template](/_contentTemplates/common/get-started.md#prerequisites-tip)

Expand Down
2 changes: 1 addition & 1 deletion getting-started/video-onboarding.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ slug: getting-started/video-onboarding
previous_url: /online-technical-training
tags: get,started,video,onboarding,classroom,course,learning
published: true
position: 50
position: 30
---

# Video Onboarding
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ The **Telerik UI for Blazor Template Wizard** provides two options to start you
* **Dashboard**&mdash;A basic dashboard that showcases the Telerik UI TileLayout component and how individual blocks (tiles) can fetch data.
* **Admin**&mdash;A small app that showcases a dashboard for administrators. The app uses some of the main Telerik UI components like the [Data Grid]({%slug grid-overview%}), [Chart]({%slug components/chart/overview%}), [TileLayout]({%slug tilelayout-overview%}), [Form]({%slug form-overview%}), and more.

The available templates vary depending on the target framework and hosting model. All of the above templates are available for the Client and Server projects for .NET 6 and .NET 7. The Hybrid projects and the .NET 8 WebApp support only the **Start from Blank App** option.
The available templates vary depending on the target framework and hosting model. All of the above templates are available for the Client and Server projects for .NET 6 and .NET 7. The Hybrid projects and the .NET 8 Web App support only the **Start from Blank App** option.

#### Section 2: Select Project Name and Path

Expand Down
2 changes: 1 addition & 1 deletion getting-started/vs-integration/new-project-wizard.md
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ In this screen, you can choose:

This step allows you to select one of the [predefined Telerik project](#predefined-project-templates) templates. The available templates vary depending on the selected target framework and hosting model in [**Step 1**](#step-1-select-initial-project-configuration).

The Client and Server projects for .NET 6 and .NET 7 support all the templates below. The Hybrid projects and the .NET 8 WebApp support only the **Blank** template.
The Client and Server projects for .NET 6 and .NET 7 support all the templates below. The Hybrid projects and the .NET 8 Web App support only the **Blank** template.

<a id="predefined-project-templates"> **Predefined Project Templates**</a>

Expand Down
8 changes: 4 additions & 4 deletions getting-started/web-app.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
---
title: Blazor Web App (Tutorial)
title: Blazor Web App
page_title: First Steps with Blazor Web Apps and Telerik UI for Blazor
description: Make your first steps with Telerik UI for Blazor and build a Web App that runs the UI for Blazor components.
slug: getting-started/web-app
tags: get,started,first,steps,web,app,template
published: true
position: 10
position: 5
---

# First Steps with UI for Blazor in a Web App

This article explains how to use the Telerik UI for Blazor components in a <a href = "https://learn.microsoft.com/en-us/aspnet/core/blazor/project-structure?view=aspnetcore-8.0#blazor-web-app" target="_blank">.NET 8 Blazor Web App</a> project template. 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 article explains how to use the Telerik UI for Blazor components in a <a href="https://learn.microsoft.com/en-us/aspnet/core/blazor/project-structure?view=aspnetcore-9.0#blazor-web-app" target="_blank">Blazor Web App</a> project template that exists for .NET 8 and 9. 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.

@[template](/_contentTemplates/common/get-started.md#prerequisites-tip)

Expand Down Expand Up @@ -105,7 +105,7 @@ The final step in this tutorial is to use a Telerik UI for Blazor component in a
## See Also

* [Workflow Details for Telerik UI for Blazor]({%slug getting-started/what-you-need%})
* [Using .NET 8 Blazor Sections inside Telerik Components]({%slug common-kb-net8-sections%})
* [Using Blazor Sections inside Telerik Components]({%slug common-kb-net8-sections%})
* [Getting Started Videos for Blazor](https://www.youtube.com/watch?v=aaRAZYaJ4xc&list=PLvmaC-XMqeBYPTwcm478vs8Rujq2tiVJo)
* [First Steps with Blazor Server]({%slug getting-started/server-side%})
* [First Steps with Blazor WebAssembly]({%slug getting-started/client-side%})
10 changes: 5 additions & 5 deletions getting-started/what-you-need.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ slug: getting-started/what-you-need
previous_url: /installation/what-you-need
tags: get,started,installation,what,need,list
published: True
position: 20
position: 25
---

# Workflow Details for Using the Telerik UI for Blazor Components
Expand All @@ -15,9 +15,9 @@ This article describes the required steps to use the Telerik UI for Blazor compo

>tip The information in this article builds on top of the step-by-step tutorials for specific Blazor application types or render modes:
>
> * [Blazor Web App]({%slug getting-started/web-app%}) template in .NET 8
> * [Blazor Web App]({%slug getting-started/web-app%}) template in .NET 8 or 9
> * [Blazor WebAssembly Standalone apps]({%slug getting-started/client-side%})
> * [Blazor Server apps]({%slug getting-started/server-side%}) in .NET 6 or 7
> * [Blazor WebAssembly apps]({%slug getting-started/client-side%})
> * [Blazor Hybrid (MAUI) apps]({%slug getting-started/hybrid-blazor%})
>
> The differences between the above tutorials and this page are:
Expand Down Expand Up @@ -221,10 +221,10 @@ The `TelerikRootComponent` placement depends on the interactivity location of th

> The instructions and code example below apply to:
>
> * .NET 8 Blazor Web Apps with **Global** interactivity location
> * .NET 8 or 9 Blazor Web Apps with **Global** interactivity location
> * Blazor Server, WebAssembly and Hybrid apps in all .NET versions
>
> If you have a .NET 8 Blazor Web App with **Per page/component** interactivity location, then the correct `TelerikRootComponent` usage is different. The component still needs to wrap all other Telerik components, but it cannot reside in a static layout file, because the [other Telerik component will not detect it]({%slug common-kb-component-requires-telerikrootcomponent%}). Refer to section [Interactivity Considerations]({%slug rootcomponent-overview%}#interactivity-considerations) and article [Using TelerikRootComponent with Per Page/Component Interactivity]({%slug rootcomponent-percomponent%}).
> If you have a Blazor Web App with **Per page/component** interactivity location, then the correct `TelerikRootComponent` usage is different. The component still needs to wrap all other Telerik components, but it cannot reside in a static layout file, because the [other Telerik component will not detect it]({%slug common-kb-component-requires-telerikrootcomponent%}). Refer to section [Interactivity Considerations]({%slug rootcomponent-overview%}#interactivity-considerations) and article [Using TelerikRootComponent with Per Page/Component Interactivity]({%slug rootcomponent-percomponent%}).

### Optimal TelerikRootComponent Usage

Expand Down
4 changes: 2 additions & 2 deletions introduction.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,9 @@ Visit the <a href="https://www.telerik.com/blazor-ui" target="_blank">Telerik UI

If you are new to Telerik UI for Blazor, visit the Getting Started tutorials that demonstrate how to add the Telerik components to your application:

* [Get Started with a .NET 8 or 9 Blazor Web App]({%slug getting-started/web-app%})
* [Get Started with a Blazor WebAssembly Standalone App]({%slug getting-started/client-side%})
* [Get Started with a .NET 6 or 7 Blazor Server app]({%slug getting-started/server-side%})
* [Get Started with a Blazor WebAssembly app]({%slug getting-started/client-side%})
* [Get Started with a .NET 8 Blazor Web App]({%slug getting-started/web-app%})
* [Get Started with Blazor Hybrid]({%slug getting-started/hybrid-blazor%})

>tip This online Blazor documentation covers the latest version of Telerik UI for Blazor, which is `{{site.uiForBlazorLatestVersion}}`. If needed, [download the offline PDF Blazor documentation](#learning-resources) for the required older product version.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,15 +38,15 @@ The error occurs when a Telerik Blazor component cannot detect a `TelerikRootCom
More specifically, the exception implies the following issues with the application setup:

* A Blazor application is missing a `TelerikRootComponent` in `MainLayout.razor` or any other layout file that is currently in use.
* A [.NET 8 Blazor Web App](https://learn.microsoft.com/en-us/aspnet/core/blazor/project-structure?view=aspnetcore-8.0#blazor-web-app) has a `TelerikRootComponent` in a used layout file, but the app's **Interactivity location** is set to **Per page/component**. In such cases, the layout files use static render mode and the `TelerikRootComponent` is unable to pass cascading values down the component tree.
* A [Blazor Web App](https://learn.microsoft.com/en-us/aspnet/core/blazor/project-structure?view=aspnetcore-9.0#blazor-web-app) has a `TelerikRootComponent` in a used layout file, but the app's **Interactivity location** is set to **Per page/component**. In such cases, the layout files use static render mode and the `TelerikRootComponent` is unable to pass cascading values down the component tree.


## Solution

To fix and avoid the `TelerikRootComponent` exception:

* [Add a `TelerikRootComponent` to one or more layout files]({%slug getting-started/what-you-need%}#telerikrootcomponent), depending on the application's layout structure.
* When using the .NET 8 Blazor Web App project template, [create the app with a **Global** interactivity location](https://learn.microsoft.com/en-us/aspnet/core/blazor/components/render-modes?view=aspnetcore-8.0#apply-a-render-mode-to-the-entire-app).
* When using the Blazor Web App project template, [create the app with a **Global** interactivity location](https://learn.microsoft.com/en-us/aspnet/core/blazor/components/render-modes?view=aspnetcore-9.0#apply-a-render-mode-to-the-entire-app).
* If your scenario requires a **Per page/component** interactivity location, place the `TelerikRootComponent` in an interactive Razor component. Refer to [Using `TelerikRootComponent` with Per Component Interactivity]({%slug rootcomponent-percomponent%}).

> To avoid [problems with popup positioning]({%slug troubleshooting-general-issues%}#wrong-popup-position), wrap all the web page content in a `TelerikRootComponent`.
Expand Down
4 changes: 2 additions & 2 deletions knowledge-base/common-lazy-load-assemblies-wasm.md
Original file line number Diff line number Diff line change
Expand Up @@ -74,9 +74,9 @@ All general guidance from the [Microsoft documentation](https://learn.microsoft.

Overall, the lazy loading of assemblies at the correct time is a responsibility of the application. If an assembly is not loaded when required, the app will throw `System.IO.FileNotFoundException: Could not load file or assembly ...`. The loading code is in the `OnNavigateAsync` event handler of the `<Router>`. You can also define an optional loading screen inside the `<Router>` with a `<Navigating>` tag.

### .NET 8 Specifics
### .NET 8 and 9 Specifics

The following tips apply to .NET 8 WebAssembly apps only:
The following tips apply only to .NET 8 and 9 WebAssembly apps:

* Use `.wasm` instead of `.dll` in the `.csproj` file and the `OnNavigateAsync` event handler.
* [Register the lazy loader service manually](https://github.com/dotnet/aspnetcore/issues/51966) in the "server" `Program.cs`. Otherwise, you may get a `InvalidOperationException: Cannot provide a value for property 'AssemblyLoader' on type '...Routes'. There is no registered service of type 'Microsoft.AspNetCore.Components.WebAssembly.Services.LazyAssemblyLoader'.`
Expand Down
4 changes: 2 additions & 2 deletions knowledge-base/common-maximum-call-stack-exceeded.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,8 @@ This knowledge base article deals with the `Maximum call stack size exceeded` er

The possible causes for the `Maximum call stack size exceeded` error are:

* Using an old version of Telerik UI for Blazor (4.5.0 and earlier) in .NET 8.
* Updating an existing app to .NET 8 without updating Telerik UI for Blazor.
* Using an old version of Telerik UI for Blazor (4.5.0 and older) in .NET 8 or 9.
* Updating an existing app to .NET 8 or 9 without updating Telerik UI for Blazor.
* Using different versions of Telerik UI for Blazor in different projects in your solution. Some of the versions are earlier than 4.6.0.
* Building a .NET 6 Telerik Blazor app with the .NET 8 SDK on a Mac.
* Using a cached old version of `telerik-blazor.js` with up-to-date Telerik UI for Blazor version. In this case, the app may be runnable in one browser and not in another.
Expand Down
Loading
Loading