diff --git a/_config.yml b/_config.yml index 85d1b2ca33..91318c17d1 100644 --- a/_config.yml +++ b/_config.yml @@ -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 diff --git a/components/rootcomponent/overview.md b/components/rootcomponent/overview.md index b5417efd98..73aebfcff5 100644 --- a/components/rootcomponent/overview.md +++ b/components/rootcomponent/overview.md @@ -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: diff --git a/components/rootcomponent/per-component-interactivity-location.md b/components/rootcomponent/per-component-interactivity-location.md index 7f7ee14ff5..952860e7ba 100644 --- a/components/rootcomponent/per-component-interactivity-location.md +++ b/components/rootcomponent/per-component-interactivity-location.md @@ -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 @@ -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). @@ -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) diff --git a/getting-started/client-blazor.md b/getting-started/client-blazor.md index 9718486d3f..587b05e6e5 100644 --- a/getting-started/client-blazor.md +++ b/getting-started/client-blazor.md @@ -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 @@ -15,9 +15,9 @@ This article explains how to get the **Predefined Project Templates** diff --git a/getting-started/web-app.md b/getting-started/web-app.md index 7b4accbd7f..a0d6f3e514 100644 --- a/getting-started/web-app.md +++ b/getting-started/web-app.md @@ -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 .NET 8 Blazor Web App 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 Blazor Web App 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) @@ -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%}) diff --git a/getting-started/what-you-need.md b/getting-started/what-you-need.md index 05481d9df5..2c5e6c8a17 100644 --- a/getting-started/what-you-need.md +++ b/getting-started/what-you-need.md @@ -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 @@ -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: @@ -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 diff --git a/introduction.md b/introduction.md index c53ffb62e6..2fb308f6bb 100644 --- a/introduction.md +++ b/introduction.md @@ -25,9 +25,9 @@ Visit the 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. diff --git a/knowledge-base/common-component-requires-telerikrootcomponent.md b/knowledge-base/common-component-requires-telerikrootcomponent.md index fa0dd70762..2a13f80b59 100644 --- a/knowledge-base/common-component-requires-telerikrootcomponent.md +++ b/knowledge-base/common-component-requires-telerikrootcomponent.md @@ -38,7 +38,7 @@ 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 @@ -46,7 +46,7 @@ More specifically, the exception implies the following issues with the applicati 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`. diff --git a/knowledge-base/common-lazy-load-assemblies-wasm.md b/knowledge-base/common-lazy-load-assemblies-wasm.md index 7704522412..cedf96e148 100644 --- a/knowledge-base/common-lazy-load-assemblies-wasm.md +++ b/knowledge-base/common-lazy-load-assemblies-wasm.md @@ -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 ``. You can also define an optional loading screen inside the `` with a `` 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'.` diff --git a/knowledge-base/common-maximum-call-stack-exceeded.md b/knowledge-base/common-maximum-call-stack-exceeded.md index 843365ef27..e8b9c3d4be 100644 --- a/knowledge-base/common-maximum-call-stack-exceeded.md +++ b/knowledge-base/common-maximum-call-stack-exceeded.md @@ -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. diff --git a/knowledge-base/common-net8-sections.md b/knowledge-base/common-net8-sections.md index 8002cd0912..cc96eea05d 100644 --- a/knowledge-base/common-net8-sections.md +++ b/knowledge-base/common-net8-sections.md @@ -106,4 +106,4 @@ We don't recommend and don't officially support custom markup or custom componen ## See Also -* [Add Telerik Blazor components to .NET 8 Blazor Web App Template]({%slug getting-started/web-app%}) +* [Add Telerik Blazor components to the Blazor Web App Template]({%slug getting-started/web-app%})