From 69db683dcd725de629d21a79e56e4685d936ea6f Mon Sep 17 00:00:00 2001 From: Gayathri4135 Date: Mon, 25 May 2026 20:59:21 +0530 Subject: [PATCH 1/5] 1027069 - Authorization Web App with Individual Accounts --- .../blazor-web-app-authentication.md | 163 +++++++++++------- .../images/sync-components-auth.webp | Bin 31704 -> 42646 bytes 2 files changed, 101 insertions(+), 62 deletions(-) diff --git a/blazor/getting-started/blazor-web-app-authentication.md b/blazor/getting-started/blazor-web-app-authentication.md index 9406917298..505cca274e 100644 --- a/blazor/getting-started/blazor-web-app-authentication.md +++ b/blazor/getting-started/blazor-web-app-authentication.md @@ -1,47 +1,39 @@ --- layout: post -title: Blazor Web App with Authentication | Syncfusion -description: Check out the documentation for getting started with Blazor Web App and Syncfusion Blazor Components with Authentication. +title: Getting Started with Blazor Web App Authentication | Syncfusion +description: Check out the documentation for getting started with Blazor Web App and Blazor Components with Authentication. platform: Blazor component: Common documentation: ug --- -# Getting Started with Blazor Web App with Authentication +# Getting Started with Blazor Web App Authentication -This guide demonstrates how to build a **Blazor Web App with authentication** using **.NET 9** or **.NET 10**. It uses the built-in `AuthenticationStateProvider` to retrieve and manage user identity details from the application's authentication context, enabling secure and consistent user state handling across components. +This guide explains how to create a Blazor Web App with authentication enabled. You will learn how to use the built-in `AuthenticationStateProvider` to manage user identity and integrate the [Blazor DataGrid](https://www.syncfusion.com/blazor-components/blazor-datagrid) component for authenticated users. -## Prerequisites +## Create a new Blazor Web App -* [System requirements for Blazor components](https://blazor.syncfusion.com/documentation/system-requirements) +To create a new Blazor Web App, follow the [Blazor getting started guide](https://blazor.syncfusion.com/documentation/getting-started/blazor-web-app?tabcontent=visual-studio-code). -## Create a new Blazor Web App in Visual Studio - -* Open Visual Studio 2022 and select **Create a new project** from the start screen. - -![Create-new-project](images/create-project.webp) - -## Choose Project Template - -* Select the **Blazor Web App** template using Visual Studio via the [Microsoft Templates](https://learn.microsoft.com/en-us/aspnet/core/blazor/tooling?view=aspnetcore-9.0&pivots=windows) or the [Syncfusion® Blazor extension](https://blazor.syncfusion.com/documentation/visual-studio-integration/template-studio), and then click **Next**. - -![Create-blazor-web-app-template](images/blazor-web-template.webp) - -## Configure Project Settings - -* In the project configuration settings, choose **Blazor Server, WebAssembly, or Auto** as the render mode. Ensure the **Configure for HTTPS** option is enabled, and select **Individual Accounts** as the authentication type before clicking **Create**. This enables authentication support without persisting user data in a local database. +Ensure the **Configure for HTTPS** option is enabled, and select **Individual Accounts** as the authentication type. This enables authentication support without persisting user data in a local database. ![Project-setting](images/project-setting.webp) -## Finalize Project Creation +If using Visual Studio Code, run the following commands in your command-line interface (CLI): + +{% tabs %} +{% highlight bash tabtitle=".NET CLI" %} -Click **Create** to generate the Blazor Web App. After the project is created, run the app and locate the **Register** button. +dotnet new blazor -o BlazorAppAuthentication --interactivity Server --auth Individual +cd BlazorAppAuthentication +dotnet run -![Click-register](images/register-button.webp) +{% endhighlight %} +{% endtabs %} ## Register a User -* Enter the required details, such as **email address** and **password**, in the registration form, and then click **Register** to complete account creation. +After creating the project, run the application. On the registration page, click the **Register** button. Enter your **email address** and **password**, then click **Register** to create a new account. ![Enter-register-details](images/register-details.webp) @@ -53,84 +45,98 @@ After registration completes, click **Apply Migrations** to create the database ## Verify Login -After migrations are applied, refresh the page. The home page displays the signed-in user’s email address and a **Logout** option. +Once migrations are complete, refresh the page. You should see your email address displayed and a **Logout** option, confirming you are signed in. ![Verify-login](images/verify-login.webp) -Syncfusion® Blazor components can be integrated within the **AuthorizeView** component as shown in the following steps. +## Integrating Blazor component -## Install Syncfusion® Blazor Calendars and Themes NuGet in the App +Blazor components can be integrated within the **AuthorizeView** component as shown in the following steps. -To add the **Blazor Calendar** component to your application, open the NuGet Package Manager in Visual Studio (*Tools → NuGet Package Manager → Manage NuGet Packages for Solution*). Search and install the [Syncfusion.Blazor.Calendars](https://www.nuget.org/packages/Syncfusion.Blazor.Calendars/) and [Syncfusion.Blazor.Themes](https://www.nuget.org/packages/Syncfusion.Blazor.Themes/) packages. +### Install NuGet packages + +To add the [Blazor Grid](https://www.syncfusion.com/blazor-components/blazor-datagrid) component to your application, open the NuGet Package Manager in Visual Studio **(*Tools → NuGet Package Manager → Manage NuGet Packages for Solution*)**. Search and install the [Syncfusion.Blazor.Grid](https://www.nuget.org/packages/Syncfusion.Blazor.Grid/) and [Syncfusion.Blazor.Themes](https://www.nuget.org/packages/Syncfusion.Blazor.Themes/) packages. Alternatively, install the packages by using the following command in the **Package Manager Console**: {% tabs %} -{% highlight C# tabtitle="Package Manager" %} +{% highlight bash tabtitle=".NET CLI" %} -Install-Package Syncfusion.Blazor.Calendars -Version {{ site.releaseversion }} -Install-Package Syncfusion.Blazor.Themes -Version {{ site.releaseversion }} +dotnet add package Syncfusion.Blazor.Grid -v {{ site.releaseversion }} +dotnet add package Syncfusion.Blazor.Themes -v {{ site.releaseversion }} {% endhighlight %} {% endtabs %} -N> Syncfusion® Blazor components are available on [nuget.org](https://www.nuget.org/packages?q=syncfusion.blazor). Refer to the [NuGet packages](https://blazor.syncfusion.com/documentation/nuget-packages) topic for the available package list with component details. +### Register Blazor Service -## Register Syncfusion® Blazor Service +Register the Blazor service in the **~/Program.cs** file of the Blazor Web App. -Open the **~/_Imports.razor** file and import the `Syncfusion.Blazor` and `Syncfusion.Blazor.Calendars` namespaces. +{% tabs %} +{% highlight c# tabtitle="Program.cs" %} -```cshtml +using Syncfusion.Blazor; +.... +builder.Services.AddSyncfusionBlazor(); +.... -@using Syncfusion.Blazor -@using Syncfusion.Blazor.Calendars +{% endhighlight %} +{% endtabs %} -``` +### Add required namespaces -Then, register the Syncfusion® Blazor service in the **~/Program.cs** file of the Blazor Web App. +Open the `~/_Imports.razor` file and import the namespaces. -```cshtml +{% tabs %} +{% highlight razor tabtitle="~/_Imports.razor" %} -.... -using Syncfusion.Blazor; -.... -builder.Services.AddSyncfusionBlazor(); -.... +@using Syncfusion.Blazor +@using Syncfusion.Blazor.Grids -``` +{% endhighlight %} +{% endtabs %} -## Add stylesheet and script resources +### Add stylesheet and script resources -The theme stylesheet and script are available via NuGet as [Static Web Assets](https://blazor.syncfusion.com/documentation/appearance/themes#static-web-assets). To include them in the application, add the stylesheet reference within the section and the script reference just before the closing tag, as shown below. +Include the theme stylesheet and script references in the `App.razor` file. -* For **.NET 10, .NET 9 and .NET 8** Blazor Web App, include these references in the **~/Components/App.razor** file. +{% tabs %} +{% highlight razor tabtitle="App.razor" %} -```html .... - + + + .... .... + + .... -``` -N> For more information on theming options, refer to the [Blazor Themes](https://blazor.syncfusion.com/documentation/appearance/themes) documentation, which covers various methods such as [Static Web Assets](https://blazor.syncfusion.com/documentation/appearance/themes#static-web-assets), [CDN](https://blazor.syncfusion.com/documentation/appearance/themes#cdn-reference), and [CRG](https://blazor.syncfusion.com/documentation/common/custom-resource-generator) for referencing themes in your Blazor application. - -Additionally, see [Adding Script Reference](https://blazor.syncfusion.com/documentation/common/adding-script-references) to learn different approaches for including script references in a Blazor project. +{% endhighlight %} +{% endtabs %} -## Add Syncfusion® Blazor component +### Add Blazor component -Add the Syncfusion® Blazor Calendar component in the **~/Pages/Home.razor** file within an `AuthorizeView`. +Add the [Blazor Grid](https://www.syncfusion.com/blazor-components/blazor-datagrid) component in the **~/Pages/Home.razor** file within an `AuthorizeView`. {% tabs %} -{% highlight razor %} +{% highlight razor tabtitle="Pages/Home.razor" %} - + + + + + + + +

Authentication Failure!

@@ -138,13 +144,45 @@ Add the Syncfusion® Blazor Calendar compone
+@code { + public List Orders { get; set; } + + protected override void OnInitialized() + { + Orders = Enumerable.Range(1, 12).Select(i => new Order + { + OrderID = 1000 + i, + CustomerID = new[] { "ALFKI", "ANATR", "ANTON", "BLONP", "BOLID" }[Random.Shared.Next(5)], + OrderDate = DateTime.Today.AddDays(-i), + Freight = Math.Round(25 + 15 * Random.Shared.NextDouble(), 2) + }).ToList(); + } + + public class Order + { + public int OrderID { get; set; } + public string? CustomerID { get; set; } + public DateTime OrderDate { get; set; } + public double Freight { get; set; } + } +} + {% endhighlight %} {% endtabs %} -* Press Ctrl+F5 (Windows) or +F5 (macOS) to launch the application. This opens the default web browser and displays the Syncfusion® Blazor Calendar component within the app interface. +### Run the application + +To run the application, use the following command: + +{% tabs %} +{% highlight bash tabtitle=".NET CLI" %} +dotnet run -![Blazor Calendar Component](images/sync-components-auth.webp) +{% endhighlight %} +{% endtabs %} + +![Blazor Grid Component](images/sync-components-auth.webp) N> For a complete implementation, download the demo project from the [GitHub repository](https://github.com/SyncfusionExamples/blazor-authentication). @@ -153,3 +191,4 @@ N> For a complete implementation, download the demo project from the [GitHub rep * [Getting Started with Blazor WASM App with Authentication Library](https://blazor.syncfusion.com/documentation/getting-started/blazor-webassembly-authentication) * [Secure an ASP.NET Core Blazor WebAssembly standalone app with the Authentication library](https://learn.microsoft.com/en-us/aspnet/core/blazor/security/webassembly/standalone-with-authentication-library?view=aspnetcore-8.0&tabs=visual-studio) + diff --git a/blazor/getting-started/images/sync-components-auth.webp b/blazor/getting-started/images/sync-components-auth.webp index 3eb607798b3e8c35ad304be1d63604da65172710..77ec187341bb137fd48481431ae7f06f75606faf 100644 GIT binary patch literal 42646 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%0ABnD(};Bks|;fsgQK_z)*=yXs<*E>i1^?z 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 aD*ylh00)V{000000000zP5=M^00000)+qb{ literal 31704 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 From e3a80593694faf71e96bda7113d524f11576d73c Mon Sep 17 00:00:00 2001 From: Gayathri4135 Date: Tue, 26 May 2026 19:24:58 +0530 Subject: [PATCH 2/5] Updated the md file --- .../blazor-web-app-authentication.md | 4 +- .../blazor-webassembly-authentication.md | 139 +++++++++++++----- .../images/webAssembly-datagrid.webp | Bin 0 -> 25342 bytes 3 files changed, 103 insertions(+), 40 deletions(-) create mode 100644 blazor/getting-started/images/webAssembly-datagrid.webp diff --git a/blazor/getting-started/blazor-web-app-authentication.md b/blazor/getting-started/blazor-web-app-authentication.md index 505cca274e..1fc0edb5db 100644 --- a/blazor/getting-started/blazor-web-app-authentication.md +++ b/blazor/getting-started/blazor-web-app-authentication.md @@ -57,7 +57,7 @@ Blazor components can be integrated within the **AuthorizeView** component as sh To add the [Blazor Grid](https://www.syncfusion.com/blazor-components/blazor-datagrid) component to your application, open the NuGet Package Manager in Visual Studio **(*Tools → NuGet Package Manager → Manage NuGet Packages for Solution*)**. Search and install the [Syncfusion.Blazor.Grid](https://www.nuget.org/packages/Syncfusion.Blazor.Grid/) and [Syncfusion.Blazor.Themes](https://www.nuget.org/packages/Syncfusion.Blazor.Themes/) packages. -Alternatively, install the packages by using the following command in the **Package Manager Console**: +Alternatively, install the required packages by using the following .NET CLI commands. {% tabs %} {% highlight bash tabtitle=".NET CLI" %} @@ -182,7 +182,7 @@ dotnet run {% endhighlight %} {% endtabs %} -![Blazor Grid Component](images/sync-components-auth.webp) +![Blazor DataGrid Component](images/sync-components-auth.webp) N> For a complete implementation, download the demo project from the [GitHub repository](https://github.com/SyncfusionExamples/blazor-authentication). diff --git a/blazor/getting-started/blazor-webassembly-authentication.md b/blazor/getting-started/blazor-webassembly-authentication.md index e48fcc529d..1386eb63fa 100644 --- a/blazor/getting-started/blazor-webassembly-authentication.md +++ b/blazor/getting-started/blazor-webassembly-authentication.md @@ -9,15 +9,27 @@ documentation: ug # Getting Started with Blazor WASM App with Authentication Library -This article provides step-by-step instructions for building and securing a Blazor WebAssembly Standalone App with the Blazor WebAssembly Authentication library using [Visual Studio](https://visualstudio.microsoft.com/vs/). +This article provides step-by-step instructions for building and securing a Blazor WebAssembly Standalone App and integrate the [Blazor DataGrid](https://www.syncfusion.com/blazor-components/blazor-datagrid) component for authenticated users. -## Prerequisites +## Create a new Blazor Web App -* [System requirements for Blazor components](https://blazor.syncfusion.com/documentation/system-requirements) +To create a new Blazor Web App, follow the [Blazor getting started guide](https://blazor.syncfusion.com/documentation/getting-started/blazor-web-app?tabcontent=visual-studio-code). -## Create a new Blazor WebAssembly Standalone App in Visual Studio +Ensure the **Configure for HTTPS** option is enabled, and select **Individual Accounts** as the authentication type. This enables authentication support without persisting user data in a local database. -You can create a **Blazor WebAssembly Standalone App** using Visual Studio via [Microsoft Templates](https://learn.microsoft.com/en-us/aspnet/core/blazor/tooling?view=aspnetcore-8.0&pivots=windows) or the [Syncfusion® Blazor Extension](https://blazor.syncfusion.com/documentation/visual-studio-integration/template-studio) by setting the `Authentication type` to `Individual Accounts`. This selection adds authentication support and doesn't result in storing users in a database. +![Project-setting](images/project-setting.webp) + +If using Visual Studio Code, run the following commands in your command-line interface (CLI): + +{% tabs %} +{% highlight bash tabtitle=".NET CLI" %} + +dotnet new blazor -o BlazorAppAuthentication --interactivity Server --auth Individual +cd BlazorAppAuthentication +dotnet run + +{% endhighlight %} +{% endtabs %} ## Configure the application with Google OAuth 2.0 (OIDC) @@ -49,74 +61,94 @@ You can create a **Blazor WebAssembly Standalone App** using Visual Studio via [ ![OAuth RedirectUri](images/oauth-rediredt-uri.webp) -## Install Syncfusion® Blazor Calendars and Themes NuGet in the App +## Integrating Blazor component + +Blazor components can be integrated within the **AuthorizeView** component as shown in the following steps. + +### Install NuGet packages + +To add the [Blazor Grid](https://www.syncfusion.com/blazor-components/blazor-datagrid) component to your application, open the NuGet Package Manager in Visual Studio **(*Tools → NuGet Package Manager → Manage NuGet Packages for Solution*)**. Search and install the [Syncfusion.Blazor.Grid](https://www.nuget.org/packages/Syncfusion.Blazor.Grid/) and [Syncfusion.Blazor.Themes](https://www.nuget.org/packages/Syncfusion.Blazor.Themes/) packages. -Here's an example of how to add **Blazor Calendar** component in the app, open the NuGet package manager in Visual Studio (*Tools → NuGet Package Manager → Manage NuGet Packages for Solution*), search and install [Syncfusion.Blazor.Calendars](https://www.nuget.org/packages/Syncfusion.Blazor.Calendars/) and [Syncfusion.Blazor.Themes](https://www.nuget.org/packages/Syncfusion.Blazor.Themes/). Alternatively, you can utilize the following package manager command to achieve the same. +Alternatively, install the required packages by using the following .NET CLI commands. {% tabs %} -{% highlight C# tabtitle="Package Manager" %} +{% highlight bash tabtitle=".NET CLI" %} -Install-Package Syncfusion.Blazor.Calendars -Version {{ site.releaseversion }} -Install-Package Syncfusion.Blazor.Themes -Version {{ site.releaseversion }} +dotnet add package Syncfusion.Blazor.Grid -v {{ site.releaseversion }} +dotnet add package Syncfusion.Blazor.Themes -v {{ site.releaseversion }} {% endhighlight %} {% endtabs %} -N> Syncfusion® Blazor components are available on [nuget.org](https://www.nuget.org/packages?q=syncfusion.blazor). Refer to the [NuGet packages](https://blazor.syncfusion.com/documentation/nuget-packages) topic for the available package list with component details. +### Register Blazor Service -## Register Syncfusion® Blazor Service +Register the Blazor service in the **~/Program.cs** file of the Blazor Web App. -Open the **~/_Imports.razor** file and import the `Syncfusion.Blazor` and `Syncfusion.Blazor.Calendars` namespaces. +{% tabs %} +{% highlight c# tabtitle="Program.cs" %} -```cshtml +using Syncfusion.Blazor; +.... +builder.Services.AddSyncfusionBlazor(); +.... -@using Syncfusion.Blazor -@using Syncfusion.Blazor.Calendars +{% endhighlight %} +{% endtabs %} -``` +### Add required namespaces -Now, register the Syncfusion® Blazor service in the **~/Program.cs** file of the Blazor WebAssembly Standalone App. +Open the `~/_Imports.razor` file and import the namespaces. -```cshtml +{% tabs %} +{% highlight razor tabtitle="~/_Imports.razor" %} -.... -using Syncfusion.Blazor; -.... -builder.Services.AddSyncfusionBlazor(); -.... +@using Syncfusion.Blazor +@using Syncfusion.Blazor.Grids -``` +{% endhighlight %} +{% endtabs %} -## Add stylesheet and script resources +### Add stylesheet and script resources -The theme stylesheet and script can be accessed from NuGet through [Static Web Assets](https://blazor.syncfusion.com/documentation/appearance/themes#static-web-assets). Reference the stylesheet in the `` section and the script at the end of the `` of the main page as follows: +Include the theme stylesheet and script references in the `wwwroot/index.html` file. -* For **.NET 10, .NET 9 and .NET 8** Blazor WebAssembly Standalone app, include it in the **~/Components/App.razor** file. +{% tabs %} +{% highlight html tabtitle="index.html" %} -```html .... - + + + .... .... + + .... -``` -N> Check out the [Blazor Themes](https://blazor.syncfusion.com/documentation/appearance/themes) topic to discover various methods ([Static Web Assets](https://blazor.syncfusion.com/documentation/appearance/themes#static-web-assets), [CDN](https://blazor.syncfusion.com/documentation/appearance/themes#cdn-reference), and [CRG](https://blazor.syncfusion.com/documentation/common/custom-resource-generator)) for referencing themes in your Blazor application. Also, check out the [Adding Script Reference](https://blazor.syncfusion.com/documentation/common/adding-script-references) topic to learn different approaches for adding script references in your Blazor application. +{% endhighlight %} +{% endtabs %} -## Add Syncfusion® Blazor component +### Add Blazor component -Add the Syncfusion® Blazor Calendar component in the **~/Pages/Home.razor** file under an `AuthorizeView`. +Add the [Blazor Grid](https://www.syncfusion.com/blazor-components/blazor-datagrid) component in the **~/Pages/Home.razor** file within an `AuthorizeView`. {% tabs %} -{% highlight razor %} +{% highlight razor tabtitle="Pages/Home.razor" %} - + + + + + + + +

Authentication Failure!

@@ -124,14 +156,45 @@ Add the Syncfusion® Blazor Calendar compone
+@code { + public List Orders { get; set; } + + protected override void OnInitialized() + { + Orders = Enumerable.Range(1, 12).Select(i => new Order + { + OrderID = 1000 + i, + CustomerID = new[] { "ALFKI", "ANATR", "ANTON", "BLONP", "BOLID" }[Random.Shared.Next(5)], + OrderDate = DateTime.Today.AddDays(-i), + Freight = Math.Round(25 + 15 * Random.Shared.NextDouble(), 2) + }).ToList(); + } + + public class Order + { + public int OrderID { get; set; } + public string? CustomerID { get; set; } + public DateTime OrderDate { get; set; } + public double Freight { get; set; } + } +} + {% endhighlight %} {% endtabs %} -* Press Ctrl+F5 (Windows) or +F5 (macOS) to launch the application. This renders the Syncfusion® Blazor Calendar component in the default web browser. +### Run the application +To run the application, use the following command: -![Blazor Calendar Component](images/output-calendar-using-blazor-webassembly.webp) +{% tabs %} +{% highlight bash tabtitle=".NET CLI" %} + +dotnet run + +{% endhighlight %} +{% endtabs %} +![Blazor WASM App with Blazor dataGrid Component](images/webAssembly-datagrid.webp) ## See Also diff --git a/blazor/getting-started/images/webAssembly-datagrid.webp b/blazor/getting-started/images/webAssembly-datagrid.webp new file mode 100644 index 0000000000000000000000000000000000000000..b511e8ef78b4dad16f145d3c2933b179ab656db5 GIT binary patch literal 25342 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 s3m@(mp+i}Ti0Ik+1`OT%9*qa}X Date: Tue, 26 May 2026 19:29:49 +0530 Subject: [PATCH 3/5] Updated the md file --- ...output-calendar-using-blazor-webassembly.webp | Bin 6064 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 blazor/getting-started/images/output-calendar-using-blazor-webassembly.webp diff --git a/blazor/getting-started/images/output-calendar-using-blazor-webassembly.webp b/blazor/getting-started/images/output-calendar-using-blazor-webassembly.webp deleted file mode 100644 index 13d095b0b9a8d8ef75fa0ed5fa045a34babf6e9f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6064 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 From b19ee32e87395974a80b5c4d4f660431ea68d750 Mon Sep 17 00:00:00 2001 From: Gayathri4135 Date: Fri, 29 May 2026 15:36:13 +0530 Subject: [PATCH 4/5] Updated the md file --- blazor/getting-started/blazor-web-app-authentication.md | 4 ++-- blazor/getting-started/blazor-webassembly-authentication.md | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/blazor/getting-started/blazor-web-app-authentication.md b/blazor/getting-started/blazor-web-app-authentication.md index 1fc0edb5db..51817afd3a 100644 --- a/blazor/getting-started/blazor-web-app-authentication.md +++ b/blazor/getting-started/blazor-web-app-authentication.md @@ -55,7 +55,7 @@ Blazor components can be integrated within the **AuthorizeView** component as sh ### Install NuGet packages -To add the [Blazor Grid](https://www.syncfusion.com/blazor-components/blazor-datagrid) component to your application, open the NuGet Package Manager in Visual Studio **(*Tools → NuGet Package Manager → Manage NuGet Packages for Solution*)**. Search and install the [Syncfusion.Blazor.Grid](https://www.nuget.org/packages/Syncfusion.Blazor.Grid/) and [Syncfusion.Blazor.Themes](https://www.nuget.org/packages/Syncfusion.Blazor.Themes/) packages. +To add the [Blazor DataGrid](https://www.syncfusion.com/blazor-components/blazor-datagrid) component to your application, open the NuGet Package Manager in Visual Studio **(*Tools → NuGet Package Manager → Manage NuGet Packages for Solution*)**. Search and install the [Syncfusion.Blazor.Grid](https://www.nuget.org/packages/Syncfusion.Blazor.Grid/) and [Syncfusion.Blazor.Themes](https://www.nuget.org/packages/Syncfusion.Blazor.Themes/) packages. Alternatively, install the required packages by using the following .NET CLI commands. @@ -122,7 +122,7 @@ Include the theme stylesheet and script references in the `App.razor` file. ### Add Blazor component -Add the [Blazor Grid](https://www.syncfusion.com/blazor-components/blazor-datagrid) component in the **~/Pages/Home.razor** file within an `AuthorizeView`. +Add the [Blazor DataGrid](https://www.syncfusion.com/blazor-components/blazor-datagrid) component in the **~/Pages/Home.razor** file within an `AuthorizeView`. {% tabs %} {% highlight razor tabtitle="Pages/Home.razor" %} diff --git a/blazor/getting-started/blazor-webassembly-authentication.md b/blazor/getting-started/blazor-webassembly-authentication.md index 1386eb63fa..f930c9b99b 100644 --- a/blazor/getting-started/blazor-webassembly-authentication.md +++ b/blazor/getting-started/blazor-webassembly-authentication.md @@ -67,7 +67,7 @@ Blazor components can be integrated within the **AuthorizeView** component as sh ### Install NuGet packages -To add the [Blazor Grid](https://www.syncfusion.com/blazor-components/blazor-datagrid) component to your application, open the NuGet Package Manager in Visual Studio **(*Tools → NuGet Package Manager → Manage NuGet Packages for Solution*)**. Search and install the [Syncfusion.Blazor.Grid](https://www.nuget.org/packages/Syncfusion.Blazor.Grid/) and [Syncfusion.Blazor.Themes](https://www.nuget.org/packages/Syncfusion.Blazor.Themes/) packages. +To add the [Blazor DataGrid](https://www.syncfusion.com/blazor-components/blazor-datagrid) component to your application, open the NuGet Package Manager in Visual Studio **(*Tools → NuGet Package Manager → Manage NuGet Packages for Solution*)**. Search and install the [Syncfusion.Blazor.Grid](https://www.nuget.org/packages/Syncfusion.Blazor.Grid/) and [Syncfusion.Blazor.Themes](https://www.nuget.org/packages/Syncfusion.Blazor.Themes/) packages. Alternatively, install the required packages by using the following .NET CLI commands. @@ -134,7 +134,7 @@ Include the theme stylesheet and script references in the `wwwroot/index.html` f ### Add Blazor component -Add the [Blazor Grid](https://www.syncfusion.com/blazor-components/blazor-datagrid) component in the **~/Pages/Home.razor** file within an `AuthorizeView`. +Add the [Blazor DataGrid](https://www.syncfusion.com/blazor-components/blazor-datagrid) component in the **~/Pages/Home.razor** file within an `AuthorizeView`. {% tabs %} {% highlight razor tabtitle="Pages/Home.razor" %} @@ -194,7 +194,7 @@ dotnet run {% endhighlight %} {% endtabs %} -![Blazor WASM App with Blazor dataGrid Component](images/webAssembly-datagrid.webp) +![Blazor WASM App with Blazor DataGrid Component](images/webAssembly-datagrid.webp) ## See Also From 0c243d3cf2bf0146e7ff87e20f7fd2ce11c85e44 Mon Sep 17 00:00:00 2001 From: Gayathri4135 Date: Fri, 29 May 2026 16:21:48 +0530 Subject: [PATCH 5/5] Updated the md file --- blazor/getting-started/blazor-webassembly-authentication.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/blazor/getting-started/blazor-webassembly-authentication.md b/blazor/getting-started/blazor-webassembly-authentication.md index f930c9b99b..1fd5d4a242 100644 --- a/blazor/getting-started/blazor-webassembly-authentication.md +++ b/blazor/getting-started/blazor-webassembly-authentication.md @@ -38,7 +38,7 @@ dotnet run * Replace the `appsettings.json` file with the following content to configure the application with `Google OAuth 2.0`. {% tabs %} -{% highlight cshtml tabtitle="appsettings.json" %} +{% highlight json tabtitle="appsettings.json" %} { "Local": {