diff --git a/aspnetcore/blazor/forms-validation.md b/aspnetcore/blazor/forms-validation.md index 873d0099be63..1a4473ec5b36 100644 --- a/aspnetcore/blazor/forms-validation.md +++ b/aspnetcore/blazor/forms-validation.md @@ -299,7 +299,7 @@ In the following `FormExample4` component, the `HandleValidationRequested` handl `Pages/FormExample4.razor`: -[!code-razor[](~/blazor/samples/6.0/BlazorSample_WebAssembly/Pages/forms-and-validation/FormExample4.razor?highlight=38,42-53,70)] +[!code-razor[](~/blazor/samples/6.0/BlazorSample_WebAssembly/Pages/forms-and-validation/FormExample4.razor?highlight=38,42-52,72)] ## Data Annotations Validator component and custom validation diff --git a/aspnetcore/blazor/fundamentals/routing.md b/aspnetcore/blazor/fundamentals/routing.md index 2a181a0fbe93..efaad02b4ffb 100644 --- a/aspnetcore/blazor/fundamentals/routing.md +++ b/aspnetcore/blazor/fundamentals/routing.md @@ -581,10 +581,6 @@ In the following `App` component example: Use a component in place of HTML hyperlink elements (``) when creating navigation links. A component behaves like an `` element, except it toggles an `active` CSS class based on whether its `href` matches the current URL. The `active` class helps a user understand which page is the active page among the navigation links displayed. Optionally, assign a CSS class name to to apply a custom CSS class to the rendered link when the current route matches the `href`. -The following `NavMenu` component creates a [`Bootstrap`](https://getbootstrap.com/docs/) navigation bar that demonstrates how to use components: - -[!code-razor[](~/blazor/samples/6.0/BlazorSample_WebAssembly/Shared/routing/NavMenu.razor?highlight=4,9)] - > [!NOTE] > The `NavMenu` component (`NavMenu.razor`) is provided in the `Shared` folder of an app generated from the [Blazor project templates](xref:blazor/project-structure). @@ -643,7 +639,12 @@ The following HTML markup is rendered: Blazor Server is integrated into [ASP.NET Core Endpoint Routing](xref:fundamentals/routing). An ASP.NET Core app is configured to accept incoming connections for interactive components with in `Program.cs`: -[!code-csharp[](~/blazor/samples/6.0/BlazorSample_Server/routing/Program.cs)] +```csharp +app.UseRouting(); + +app.MapBlazorHub(); +app.MapFallbackToPage("/_Host"); +``` The typical configuration is to route all requests to a Razor page, which acts as the host for the server-side part of the Blazor Server app. By convention, the *host* page is usually named `_Host.cshtml` in the `Pages` folder of the app. @@ -1008,10 +1009,6 @@ In the following `App` component example: Use a component in place of HTML hyperlink elements (``) when creating navigation links. A component behaves like an `` element, except it toggles an `active` CSS class based on whether its `href` matches the current URL. The `active` class helps a user understand which page is the active page among the navigation links displayed. Optionally, assign a CSS class name to to apply a custom CSS class to the rendered link when the current route matches the `href`. -The following `NavMenu` component creates a [`Bootstrap`](https://getbootstrap.com/docs/) navigation bar that demonstrates how to use components: - -[!code-razor[](~/blazor/samples/5.0/BlazorSample_WebAssembly/Shared/routing/NavMenu.razor?highlight=4,9)] - > [!NOTE] > The `NavMenu` component (`NavMenu.razor`) is provided in the `Shared` folder of an app generated from the [Blazor project templates](xref:blazor/project-structure). @@ -1284,10 +1281,6 @@ To parse a query string's parameters, one approach is to use [`URLSearchParams`] Use a component in place of HTML hyperlink elements (``) when creating navigation links. A component behaves like an `` element, except it toggles an `active` CSS class based on whether its `href` matches the current URL. The `active` class helps a user understand which page is the active page among the navigation links displayed. Optionally, assign a CSS class name to to apply a custom CSS class to the rendered link when the current route matches the `href`. -The following `NavMenu` component creates a [`Bootstrap`](https://getbootstrap.com/docs/) navigation bar that demonstrates how to use components: - -[!code-razor[](~/blazor/samples/3.1/BlazorSample_WebAssembly/Shared/routing/NavMenu.razor?highlight=4,9)] - > [!NOTE] > The `NavMenu` component (`NavMenu.razor`) is provided in the `Shared` folder of an app generated from the [Blazor project templates](xref:blazor/project-structure). diff --git a/aspnetcore/blazor/javascript-interoperability/call-javascript-from-dotnet.md b/aspnetcore/blazor/javascript-interoperability/call-javascript-from-dotnet.md index 4abe6430d946..2858ff15b69f 100644 --- a/aspnetcore/blazor/javascript-interoperability/call-javascript-from-dotnet.md +++ b/aspnetcore/blazor/javascript-interoperability/call-javascript-from-dotnet.md @@ -131,7 +131,7 @@ Inside the closing `` tag of `wwwroot/index.html` (Blazor WebAssembly) or `Pages/CallJsExample5.razor`: -[!code-razor[](~/blazor/samples/6.0/BlazorSample_WebAssembly/Pages/call-js-from-dotnet/CallJsExample5.razor?highlight=2-3,25,30,38-40,43)] +[!code-razor[](~/blazor/samples/6.0/BlazorSample_WebAssembly/Pages/call-js-from-dotnet/CallJsExample5.razor?highlight=2-3,25,30,40-42,46)] ## Dynamic content generation scenarios diff --git a/aspnetcore/blazor/samples/3.1/BlazorSample_Server/Shared/routing/NavMenu.razor b/aspnetcore/blazor/samples/3.1/BlazorSample_Server/Shared/routing/NavMenu.razor deleted file mode 100644 index 2c53de458ab6..000000000000 --- a/aspnetcore/blazor/samples/3.1/BlazorSample_Server/Shared/routing/NavMenu.razor +++ /dev/null @@ -1,19 +0,0 @@ -
- -
- -@code { - private string NavMenuCssClass; - private void ToggleNavMenu() {} -} diff --git a/aspnetcore/blazor/samples/3.1/BlazorSample_WebAssembly/Program.cs b/aspnetcore/blazor/samples/3.1/BlazorSample_WebAssembly/Program.cs index 4a5791d68c62..fe5d2825a941 100644 --- a/aspnetcore/blazor/samples/3.1/BlazorSample_WebAssembly/Program.cs +++ b/aspnetcore/blazor/samples/3.1/BlazorSample_WebAssembly/Program.cs @@ -18,7 +18,7 @@ public static async Task Main(string[] args) builder.RootComponents.Add("app"); builder.Services.AddScoped(sp => new HttpClient { BaseAddress = new Uri(builder.HostEnvironment.BaseAddress) }); - builder.Services.AddSingleton(); + builder.Services.AddSingleton(); await builder.Build().RunAsync(); } diff --git a/aspnetcore/blazor/samples/3.1/BlazorSample_WebAssembly/Shared/routing/NavMenu.razor b/aspnetcore/blazor/samples/3.1/BlazorSample_WebAssembly/Shared/routing/NavMenu.razor deleted file mode 100644 index 2c53de458ab6..000000000000 --- a/aspnetcore/blazor/samples/3.1/BlazorSample_WebAssembly/Shared/routing/NavMenu.razor +++ /dev/null @@ -1,19 +0,0 @@ -
- -
- -@code { - private string NavMenuCssClass; - private void ToggleNavMenu() {} -} diff --git a/aspnetcore/blazor/samples/5.0/BlazorSample_Server/Shared/routing/NavMenu.razor b/aspnetcore/blazor/samples/5.0/BlazorSample_Server/Shared/routing/NavMenu.razor deleted file mode 100644 index 2c53de458ab6..000000000000 --- a/aspnetcore/blazor/samples/5.0/BlazorSample_Server/Shared/routing/NavMenu.razor +++ /dev/null @@ -1,19 +0,0 @@ -
- -
- -@code { - private string NavMenuCssClass; - private void ToggleNavMenu() {} -} diff --git a/aspnetcore/blazor/samples/5.0/BlazorSample_WebAssembly/Program.cs b/aspnetcore/blazor/samples/5.0/BlazorSample_WebAssembly/Program.cs index 34c293bc259d..509f94362fc6 100644 --- a/aspnetcore/blazor/samples/5.0/BlazorSample_WebAssembly/Program.cs +++ b/aspnetcore/blazor/samples/5.0/BlazorSample_WebAssembly/Program.cs @@ -18,7 +18,7 @@ public static async Task Main(string[] args) builder.RootComponents.Add("#app"); builder.Services.AddScoped(sp => new HttpClient { BaseAddress = new Uri(builder.HostEnvironment.BaseAddress) }); - builder.Services.AddSingleton(); + builder.Services.AddSingleton(); await builder.Build().RunAsync(); } diff --git a/aspnetcore/blazor/samples/5.0/BlazorSample_WebAssembly/Shared/routing/NavMenu.razor b/aspnetcore/blazor/samples/5.0/BlazorSample_WebAssembly/Shared/routing/NavMenu.razor deleted file mode 100644 index 2c53de458ab6..000000000000 --- a/aspnetcore/blazor/samples/5.0/BlazorSample_WebAssembly/Shared/routing/NavMenu.razor +++ /dev/null @@ -1,19 +0,0 @@ -
- -
- -@code { - private string NavMenuCssClass; - private void ToggleNavMenu() {} -} diff --git a/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/build-a-blazor-app/Todo1.razor b/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/build-a-blazor-app/Todo1.razor index 58c16d92385f..1c2b26700a86 100644 --- a/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/build-a-blazor-app/Todo1.razor +++ b/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/build-a-blazor-app/Todo1.razor @@ -1,5 +1,7 @@ @page "/todo" +Todo +

Todo (@todos.Count(todo => !todo.IsDone))

    @@ -17,7 +19,7 @@ @code { private List todos = new(); - private string newTodo; + private string? newTodo; private void AddTodo() { diff --git a/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/build-a-blazor-app/Todo2.razor b/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/build-a-blazor-app/Todo2.razor index caf50ee96a4c..950780ab2032 100644 --- a/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/build-a-blazor-app/Todo2.razor +++ b/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/build-a-blazor-app/Todo2.razor @@ -1,5 +1,7 @@ @page "/todo" +Todo +

    Todo

      diff --git a/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/build-a-blazor-app/Todo3.razor b/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/build-a-blazor-app/Todo3.razor index d536f8fa5a01..2fc5e7e44f3a 100644 --- a/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/build-a-blazor-app/Todo3.razor +++ b/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/build-a-blazor-app/Todo3.razor @@ -1,5 +1,7 @@ @page "/todo" +Todo +

      Todo

        diff --git a/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/build-a-blazor-app/Todo5.razor b/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/build-a-blazor-app/Todo5.razor deleted file mode 100644 index e6327262198d..000000000000 --- a/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/build-a-blazor-app/Todo5.razor +++ /dev/null @@ -1,6 +0,0 @@ -@code { - private List todos = new(); - private string newTodo; - - // ... code continues ... -} diff --git a/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/build-a-blazor-app/Todo6.razor b/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/build-a-blazor-app/Todo6.razor index 09af4208117f..2b17ce8caa02 100644 --- a/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/build-a-blazor-app/Todo6.razor +++ b/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/build-a-blazor-app/Todo6.razor @@ -14,7 +14,7 @@ @code { private List todos = new(); - private string newTodo; + private string? newTodo; private void AddTodo() { diff --git a/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/call-js-from-dotnet/CallJsExample2.razor b/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/call-js-from-dotnet/CallJsExample2.razor index 96f0f1c15066..853ac73d5797 100644 --- a/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/call-js-from-dotnet/CallJsExample2.razor +++ b/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/call-js-from-dotnet/CallJsExample2.razor @@ -14,7 +14,7 @@ @code { private Random r = new(); - private string stockSymbol; + private string? stockSymbol; private decimal price; private async Task SetStock() diff --git a/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/call-js-from-dotnet/CallJsExample5.razor b/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/call-js-from-dotnet/CallJsExample5.razor index 71bcb3732a8d..38a7c6309eaf 100644 --- a/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/call-js-from-dotnet/CallJsExample5.razor +++ b/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/call-js-from-dotnet/CallJsExample5.razor @@ -20,10 +20,10 @@ @code { private Random r = new(); - private string stockSymbol; + private string? stockSymbol; private decimal price; - private JsInteropClasses2 jsClass; - private string result; + private JsInteropClasses2? jsClass; + private string? result; protected override void OnInitialized() { @@ -32,12 +32,15 @@ private async Task SetStock() { - stockSymbol = - $"{(char)('A' + r.Next(0, 26))}{(char)('A' + r.Next(0, 26))}"; - price = r.Next(1, 101); - var interopResult = await jsClass.TickerChanged(stockSymbol, price); - result = $"Result of TickerChanged call for {stockSymbol} at " + - $"{price.ToString("c")}: {interopResult}"; + if (jsClass is not null) + { + stockSymbol = + $"{(char)('A' + r.Next(0, 26))}{(char)('A' + r.Next(0, 26))}"; + price = r.Next(1, 101); + var interopResult = await jsClass.TickerChanged(stockSymbol, price); + result = $"Result of TickerChanged call for {stockSymbol} at " + + $"{price.ToString("c")}: {interopResult}"; + } } public void Dispose() => jsClass?.Dispose(); diff --git a/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/event-handling/EventHandlerExample1.razor b/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/event-handling/EventHandlerExample1.razor index 16edc1913d5e..cfde77dc14d4 100644 --- a/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/event-handling/EventHandlerExample1.razor +++ b/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/event-handling/EventHandlerExample1.razor @@ -21,7 +21,7 @@ @code { private string currentHeading = "Initial heading"; - private string newHeading; + private string? newHeading; private string checkedMessage = "Not changed yet"; private void UpdateHeading() diff --git a/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/file-uploads/FileUpload2.razor b/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/file-uploads/FileUpload2.razor index 95910bd191e9..96720d24f780 100644 --- a/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/file-uploads/FileUpload2.razor +++ b/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/file-uploads/FileUpload2.razor @@ -122,7 +122,10 @@ var newUploadResults = await JsonSerializer .DeserializeAsync>(responseStream, options); - uploadResults = uploadResults.Concat(newUploadResults).ToList(); + if (newUploadResults is not null) + { + uploadResults = uploadResults.Concat(newUploadResults).ToList(); + } } } @@ -130,14 +133,13 @@ } private static bool FileUpload(IList uploadResults, - string fileName, ILogger logger, out UploadResult result) + string? fileName, ILogger logger, out UploadResult result) { - result = uploadResults.SingleOrDefault(f => f.FileName == fileName); + result = uploadResults.SingleOrDefault(f => f.FileName == fileName) ?? new(); - if (result is null) + if (!result.Uploaded) { logger.LogInformation("{FileName} not uploaded (Err: 5)", fileName); - result = new(); result.ErrorCode = 5; } @@ -146,6 +148,6 @@ private class File { - public string Name { get; set; } + public string? Name { get; set; } } } diff --git a/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/forms-and-validation/FormExample3.razor b/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/forms-and-validation/FormExample3.razor index daea938bb29d..eeef6beac0de 100644 --- a/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/forms-and-validation/FormExample3.razor +++ b/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/forms-and-validation/FormExample3.razor @@ -32,7 +32,7 @@ IsValidatedDesign = true, ProductionDate = new DateTime(2245, 4, 11) }; - private EditContext editContext; + private EditContext? editContext; protected override void OnInitialized() { @@ -41,12 +41,13 @@ private async Task HandleSubmit() { - if (editContext.Validate()) + if (editContext != null && editContext.Validate()) { Logger.LogInformation("HandleSubmit called: Form is valid"); // Process the valid form // await ... + await Task.CompletedTask; } else { diff --git a/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/forms-and-validation/FormExample4.razor b/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/forms-and-validation/FormExample4.razor index 405571349da9..80d03879f89d 100644 --- a/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/forms-and-validation/FormExample4.razor +++ b/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/forms-and-validation/FormExample4.razor @@ -28,9 +28,9 @@ @code { - private EditContext editContext; + private EditContext? editContext; private Holodeck holodeck = new(); - private ValidationMessageStore messageStore; + private ValidationMessageStore? messageStore; protected override void OnInitialized() { @@ -39,15 +39,15 @@ messageStore = new(editContext); } - private void HandleValidationRequested(object sender, + private void HandleValidationRequested(object? sender, ValidationRequestedEventArgs args) { - messageStore.Clear(); + messageStore?.Clear(); // Custom validation logic if (!holodeck.Options) { - messageStore.Add(() => holodeck.Options, "Select at least one."); + messageStore?.Add(() => holodeck.Options, "Select at least one."); } } @@ -67,6 +67,9 @@ public void Dispose() { - editContext.OnValidationRequested -= HandleValidationRequested; + if (editContext is not null) + { + editContext.OnValidationRequested -= HandleValidationRequested; + } } } diff --git a/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/forms-and-validation/FormExample5.razor b/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/forms-and-validation/FormExample5.razor index af3eebaa37a4..e0137b48786a 100644 --- a/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/forms-and-validation/FormExample5.razor +++ b/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/forms-and-validation/FormExample5.razor @@ -38,12 +38,12 @@ @code { - private CustomValidation customValidation; + private CustomValidation? customValidation; private Starship starship = new() { ProductionDate = DateTime.UtcNow }; private void HandleValidSubmit() { - customValidation.ClearErrors(); + customValidation?.ClearErrors(); var errors = new Dictionary>(); @@ -57,7 +57,7 @@ if (errors.Any()) { - customValidation.DisplayErrors(errors); + customValidation?.DisplayErrors(errors); } else { diff --git a/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/forms-and-validation/FormExample8.razor b/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/forms-and-validation/FormExample8.razor index befb542bad5c..1e989d4cf261 100644 --- a/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/forms-and-validation/FormExample8.razor +++ b/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/forms-and-validation/FormExample8.razor @@ -13,7 +13,7 @@ @code { private ExampleModel exampleModel = new(); - private EditContext editContext; + private EditContext? editContext; protected override void OnInitialized() { diff --git a/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/forms-and-validation/FormExample9.razor b/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/forms-and-validation/FormExample9.razor index 8daa73aba5e1..6414c04cafa8 100644 --- a/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/forms-and-validation/FormExample9.razor +++ b/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/forms-and-validation/FormExample9.razor @@ -28,7 +28,7 @@ ProductionDate = new DateTime(2245, 4, 11) }; private bool formInvalid = false; - private EditContext editContext; + private EditContext? editContext; protected override void OnInitialized() { @@ -36,10 +36,13 @@ editContext.OnFieldChanged += HandleFieldChanged; } - private void HandleFieldChanged(object sender, FieldChangedEventArgs e) + private void HandleFieldChanged(object? sender, FieldChangedEventArgs e) { - formInvalid = !editContext.Validate(); - StateHasChanged(); + if (editContext is not null) + { + formInvalid = !editContext.Validate(); + StateHasChanged(); + } } private void HandleValidSubmit() @@ -51,6 +54,9 @@ public void Dispose() { - editContext.OnFieldChanged -= HandleFieldChanged; + if (editContext is not null) + { + editContext.OnFieldChanged -= HandleFieldChanged; + } } } diff --git a/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/index/People.razor b/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/index/People.razor index 445c7eaf1a69..2f97244a1db7 100644 --- a/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/index/People.razor +++ b/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/index/People.razor @@ -41,6 +41,6 @@ public class Person { - public string Data { get; set; } + public string? Data { get; set; } } } diff --git a/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/index/RazorTemplate.razor b/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/index/RazorTemplate.razor index 04e7ed47ab9d..92972538c496 100644 --- a/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/index/RazorTemplate.razor +++ b/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/index/RazorTemplate.razor @@ -10,6 +10,6 @@ private class Pet { - public string Name { get; set; } + public string? Name { get; set; } } } diff --git a/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/index/ReferenceParent1.razor b/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/index/ReferenceParent1.razor index 6d9d39fb2555..d2bdf13898e4 100644 --- a/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/index/ReferenceParent1.razor +++ b/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/index/ReferenceParent1.razor @@ -1,11 +1,11 @@ @page "/reference-parent-1" - @code { - private ReferenceChild childComponent; + private ReferenceChild? childComponent; } diff --git a/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/index/ReferenceParent2.razor b/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/index/ReferenceParent2.razor index 870d04cadc63..ab3ae005e71f 100644 --- a/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/index/ReferenceParent2.razor +++ b/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/index/ReferenceParent2.razor @@ -1,14 +1,14 @@ @page "/reference-parent-2" - @code { - private ReferenceChild childComponent; - private Action callChildMethod; + private ReferenceChild? childComponent; + private Action? callChildMethod; protected override void OnAfterRender(bool firstRender) { @@ -20,6 +20,6 @@ private void CallChildMethod() { - childComponent.ChildMethod(5); + childComponent?.ChildMethod(5); } } diff --git a/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/index/ReferenceParent3.razor b/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/index/ReferenceParent3.razor index ebf7765ede3e..997041189490 100644 --- a/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/index/ReferenceParent3.razor +++ b/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/index/ReferenceParent3.razor @@ -8,7 +8,7 @@
      • -
      • @@ -18,7 +18,7 @@ @code { private Random r = new(); private List components = new(); - private Action callChildMethod; + private Action? callChildMethod; private ReferenceChild childComponent { diff --git a/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/index/RouteParameter.razor b/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/index/RouteParameter.razor index 26227b97dac6..72e7bd26fe1b 100644 --- a/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/index/RouteParameter.razor +++ b/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/index/RouteParameter.razor @@ -4,7 +4,7 @@ @code { [Parameter] - public string Text { get; set; } + public string? Text { get; set; } protected override void OnInitialized() { diff --git a/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/lifecycle/CounterWithTimerDisposal2.razor b/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/lifecycle/CounterWithTimerDisposal2.razor index a1669b2c6192..35957a0d0f48 100644 --- a/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/lifecycle/CounterWithTimerDisposal2.razor +++ b/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/lifecycle/CounterWithTimerDisposal2.razor @@ -8,7 +8,7 @@ @code { private int currentCount = 0; - private Timer timer; + private Timer? timer; protected override void OnInitialized() { diff --git a/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/lifecycle/FetchData.razor b/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/lifecycle/FetchData.razor index d74763b5558b..5a18446fec27 100644 --- a/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/lifecycle/FetchData.razor +++ b/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/lifecycle/FetchData.razor @@ -18,7 +18,7 @@ else } @code { - private WeatherForecast[] forecasts; + private WeatherForecast[]? forecasts; protected override async Task OnInitializedAsync() { diff --git a/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/lifecycle/OnInit.razor b/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/lifecycle/OnInit.razor index ae589655f0ec..581de8c39f53 100644 --- a/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/lifecycle/OnInit.razor +++ b/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/lifecycle/OnInit.razor @@ -3,7 +3,7 @@

        @message

        @code { - private string message; + private string? message; protected override void OnInitialized() { diff --git a/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/lifecycle/OnParamsSet.razor b/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/lifecycle/OnParamsSet.razor index fc8103143352..bf14a3d31585 100644 --- a/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/lifecycle/OnParamsSet.razor +++ b/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/lifecycle/OnParamsSet.razor @@ -4,7 +4,7 @@

        @message

        @code { - private string message; + private string? message; [Parameter] public DateTime StartDate { get; set; } diff --git a/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/lifecycle/SetParamsAsync.razor b/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/lifecycle/SetParamsAsync.razor index 9f5004605012..e0cf6db469d4 100644 --- a/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/lifecycle/SetParamsAsync.razor +++ b/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/lifecycle/SetParamsAsync.razor @@ -6,7 +6,7 @@ private string message = "Not set"; [Parameter] - public string Param { get; set; } + public string? Param { get; set; } public override async Task SetParametersAsync(ParameterView parameters) { diff --git a/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/routing/Navigate.razor b/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/routing/Navigate.razor index c1022fbd793d..8e09cb96a578 100644 --- a/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/routing/Navigate.razor +++ b/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/routing/Navigate.razor @@ -21,7 +21,7 @@ NavigationManager.LocationChanged += HandleLocationChanged; } - private void HandleLocationChanged(object sender, LocationChangedEventArgs e) + private void HandleLocationChanged(object? sender, LocationChangedEventArgs e) { Logger.LogInformation("URL of new location: {Location}", e.Location); } diff --git a/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/templated-components/Pets1.razor b/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/templated-components/Pets1.razor index 296697b01ac2..8db776c5a105 100644 --- a/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/templated-components/Pets1.razor +++ b/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Pages/templated-components/Pets1.razor @@ -24,6 +24,6 @@ private class Pet { public int PetId { get; set; } - public string Name { get; set; } + public string? Name { get; set; } } } diff --git a/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Shared/data-binding/NestedChild.razor b/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Shared/data-binding/NestedChild.razor index 7b21483b596c..489aa56b3e68 100644 --- a/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Shared/data-binding/NestedChild.razor +++ b/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Shared/data-binding/NestedChild.razor @@ -12,14 +12,14 @@ @code { [Parameter] - public string ChildMessage { get; set; } + public string? ChildMessage { get; set; } [Parameter] public EventCallback ChildMessageChanged { get; set; } private string BoundValue { - get => ChildMessage; + get => ChildMessage ?? string.Empty; set => ChildMessageChanged.InvokeAsync(value); } diff --git a/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Shared/data-binding/NestedGrandchild.razor b/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Shared/data-binding/NestedGrandchild.razor index 8d1aef3f3016..f4bde6089bef 100644 --- a/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Shared/data-binding/NestedGrandchild.razor +++ b/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Shared/data-binding/NestedGrandchild.razor @@ -10,7 +10,7 @@ @code { [Parameter] - public string GrandchildMessage { get; set; } + public string? GrandchildMessage { get; set; } [Parameter] public EventCallback GrandchildMessageChanged { get; set; } diff --git a/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Shared/data-binding/PasswordEntry.razor b/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Shared/data-binding/PasswordEntry.razor index 9c079cfa223d..89c815126436 100644 --- a/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Shared/data-binding/PasswordEntry.razor +++ b/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Shared/data-binding/PasswordEntry.razor @@ -18,17 +18,17 @@ @code { private bool showPassword; - private string password; + private string? password; [Parameter] - public string Password { get; set; } + public string? Password { get; set; } [Parameter] public EventCallback PasswordChanged { get; set; } private async Task OnPasswordChanged(ChangeEventArgs e) { - password = e.Value.ToString(); + password = e?.Value?.ToString(); await PasswordChanged.InvokeAsync(password); } diff --git a/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Shared/data-binding/PasswordEntry2.razor b/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Shared/data-binding/PasswordEntry2.razor index 11416865cd08..a14580e288e7 100644 --- a/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Shared/data-binding/PasswordEntry2.razor +++ b/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Shared/data-binding/PasswordEntry2.razor @@ -19,20 +19,20 @@ @code { private bool showPassword; - private string password; - private string validationMessage; + private string? password; + private string? validationMessage; [Parameter] - public string Password { get; set; } + public string? Password { get; set; } [Parameter] public EventCallback PasswordChanged { get; set; } private Task OnPasswordChanged(ChangeEventArgs e) { - password = e.Value.ToString(); + password = e?.Value?.ToString(); - if (password.Contains(' ')) + if (password != null && password.Contains(' ')) { validationMessage = "Spaces not allowed!"; diff --git a/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Shared/index/Expander.razor b/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Shared/index/Expander.razor index 5384ebc3ea6f..b1509b1dbfb3 100644 --- a/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Shared/index/Expander.razor +++ b/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Shared/index/Expander.razor @@ -16,7 +16,7 @@ public bool Expanded { get; set; } [Parameter] - public RenderFragment ChildContent { get; set; } + public RenderFragment? ChildContent { get; set; } protected override void OnInitialized() { diff --git a/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Shared/routing/NavMenu.razor b/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Shared/routing/NavMenu.razor deleted file mode 100644 index 2c53de458ab6..000000000000 --- a/aspnetcore/blazor/samples/6.0/BlazorSample_Server/Shared/routing/NavMenu.razor +++ /dev/null @@ -1,19 +0,0 @@ -
        - -
        - -@code { - private string NavMenuCssClass; - private void ToggleNavMenu() {} -} diff --git a/aspnetcore/blazor/samples/6.0/BlazorSample_Server/TimerService.cs b/aspnetcore/blazor/samples/6.0/BlazorSample_Server/TimerService.cs index 21e6ccbb970d..ced3a8a6cea9 100644 --- a/aspnetcore/blazor/samples/6.0/BlazorSample_Server/TimerService.cs +++ b/aspnetcore/blazor/samples/6.0/BlazorSample_Server/TimerService.cs @@ -9,7 +9,7 @@ public class TimerService : IDisposable private System.Timers.Timer timer; public TimerService(NotifierService notifier, - ILogger logger) + ILogger logger) { this.notifier = notifier; this.logger = logger; @@ -29,7 +29,7 @@ public void Start() } private async void HandleTimer(object source, - System.Timers.ElapsedEventArgs e) + System.Timers.ElapsedEventArgs e) { elapsedCount += 1; await notifier.Update("elapsedCount", elapsedCount); diff --git a/aspnetcore/blazor/samples/6.0/BlazorSample_Server/UploadResult.cs b/aspnetcore/blazor/samples/6.0/BlazorSample_Server/UploadResult.cs index 3ae08d36b082..441f5020df9c 100644 --- a/aspnetcore/blazor/samples/6.0/BlazorSample_Server/UploadResult.cs +++ b/aspnetcore/blazor/samples/6.0/BlazorSample_Server/UploadResult.cs @@ -1,7 +1,7 @@ public class UploadResult { public bool Uploaded { get; set; } - public string FileName { get; set; } - public string StoredFileName { get; set; } + public string? FileName { get; set; } + public string? StoredFileName { get; set; } public int ErrorCode { get; set; } } diff --git a/aspnetcore/blazor/samples/6.0/BlazorSample_Server/build-a-blazor-app/TodoItem.cs b/aspnetcore/blazor/samples/6.0/BlazorSample_Server/build-a-blazor-app/TodoItem.cs index cc54395e540f..e9dbfbe2d415 100644 --- a/aspnetcore/blazor/samples/6.0/BlazorSample_Server/build-a-blazor-app/TodoItem.cs +++ b/aspnetcore/blazor/samples/6.0/BlazorSample_Server/build-a-blazor-app/TodoItem.cs @@ -1,5 +1,5 @@ public class TodoItem { - public string Title { get; set; } + public string? Title { get; set; } public bool IsDone { get; set; } } diff --git a/aspnetcore/blazor/samples/6.0/BlazorSample_Server/routing/Program.cs b/aspnetcore/blazor/samples/6.0/BlazorSample_Server/routing/Program.cs deleted file mode 100644 index 80ea9be3e81b..000000000000 --- a/aspnetcore/blazor/samples/6.0/BlazorSample_Server/routing/Program.cs +++ /dev/null @@ -1,4 +0,0 @@ -app.UseRouting(); - -app.MapBlazorHub(); -app.MapFallbackToPage("/_Host"); diff --git a/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/BlazorSample.csproj b/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/BlazorSample.csproj index f9c605f6080c..418fab24b001 100644 --- a/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/BlazorSample.csproj +++ b/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/BlazorSample.csproj @@ -7,10 +7,10 @@ - - - - + + + + diff --git a/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Pages/build-a-blazor-app/Todo1.razor b/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Pages/build-a-blazor-app/Todo1.razor index d54aa1b97f53..1c2b26700a86 100644 --- a/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Pages/build-a-blazor-app/Todo1.razor +++ b/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Pages/build-a-blazor-app/Todo1.razor @@ -19,7 +19,7 @@ @code { private List todos = new(); - private string newTodo; + private string? newTodo; private void AddTodo() { diff --git a/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Pages/build-a-blazor-app/Todo5.razor b/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Pages/build-a-blazor-app/Todo5.razor deleted file mode 100644 index e6327262198d..000000000000 --- a/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Pages/build-a-blazor-app/Todo5.razor +++ /dev/null @@ -1,6 +0,0 @@ -@code { - private List todos = new(); - private string newTodo; - - // ... code continues ... -} diff --git a/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Pages/build-a-blazor-app/Todo6.razor b/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Pages/build-a-blazor-app/Todo6.razor index 9fd9ca9a016d..897cfcc73811 100644 --- a/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Pages/build-a-blazor-app/Todo6.razor +++ b/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Pages/build-a-blazor-app/Todo6.razor @@ -16,7 +16,7 @@ @code { private List todos = new(); - private string newTodo; + private string? newTodo; private void AddTodo() { diff --git a/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Pages/call-js-from-dotnet/CallJsExample2.razor b/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Pages/call-js-from-dotnet/CallJsExample2.razor index 96f0f1c15066..853ac73d5797 100644 --- a/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Pages/call-js-from-dotnet/CallJsExample2.razor +++ b/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Pages/call-js-from-dotnet/CallJsExample2.razor @@ -14,7 +14,7 @@ @code { private Random r = new(); - private string stockSymbol; + private string? stockSymbol; private decimal price; private async Task SetStock() diff --git a/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Pages/call-js-from-dotnet/CallJsExample5.razor b/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Pages/call-js-from-dotnet/CallJsExample5.razor index 71bcb3732a8d..38a7c6309eaf 100644 --- a/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Pages/call-js-from-dotnet/CallJsExample5.razor +++ b/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Pages/call-js-from-dotnet/CallJsExample5.razor @@ -20,10 +20,10 @@ @code { private Random r = new(); - private string stockSymbol; + private string? stockSymbol; private decimal price; - private JsInteropClasses2 jsClass; - private string result; + private JsInteropClasses2? jsClass; + private string? result; protected override void OnInitialized() { @@ -32,12 +32,15 @@ private async Task SetStock() { - stockSymbol = - $"{(char)('A' + r.Next(0, 26))}{(char)('A' + r.Next(0, 26))}"; - price = r.Next(1, 101); - var interopResult = await jsClass.TickerChanged(stockSymbol, price); - result = $"Result of TickerChanged call for {stockSymbol} at " + - $"{price.ToString("c")}: {interopResult}"; + if (jsClass is not null) + { + stockSymbol = + $"{(char)('A' + r.Next(0, 26))}{(char)('A' + r.Next(0, 26))}"; + price = r.Next(1, 101); + var interopResult = await jsClass.TickerChanged(stockSymbol, price); + result = $"Result of TickerChanged call for {stockSymbol} at " + + $"{price.ToString("c")}: {interopResult}"; + } } public void Dispose() => jsClass?.Dispose(); diff --git a/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Pages/call-web-api/CallWebAPI.razor b/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Pages/call-web-api/CallWebAPI.razor index 19fb1a64e582..16dae280f12b 100644 --- a/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Pages/call-web-api/CallWebAPI.razor +++ b/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Pages/call-web-api/CallWebAPI.razor @@ -72,10 +72,10 @@ else @code { private const string ServiceEndpoint = "https://localhost:10000/api/TodoItems"; - private TodoItem[] todoItems; + private TodoItem[]? todoItems; private TodoItem editItem = new(); private string editRowStyle = "none"; - private string newItemName; + private string? newItemName; protected override async Task OnInitializedAsync() => await GetTodoItems(); @@ -84,8 +84,11 @@ else private void EditItem(long id) { - editItem = todoItems.Single(i => i.Id == id); - editRowStyle = "table-row"; + if (todoItems is not null) + { + editItem = todoItems.Single(i => i.Id == id); + editRowStyle = "table-row"; + } } private async Task AddItem() @@ -99,7 +102,11 @@ else private async Task SaveItem() { - await Http.PutAsJsonAsync($"{ServiceEndpoint}/{editItem.Id}", editItem); + if (editItem is not null) + { + await Http.PutAsJsonAsync($"{ServiceEndpoint}/{editItem.Id}", + editItem); + } await GetTodoItems(); editRowStyle = "none"; } @@ -114,7 +121,7 @@ else private class TodoItem { public long Id { get; set; } - public string Name { get; set; } + public string? Name { get; set; } public bool IsComplete { get; set; } } } diff --git a/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Pages/call-web-api/TodoRequest.razor b/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Pages/call-web-api/TodoRequest.razor index 6e2d392ead04..0c6c3e240853 100644 --- a/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Pages/call-web-api/TodoRequest.razor +++ b/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Pages/call-web-api/TodoRequest.razor @@ -15,7 +15,7 @@

        @responseBody

        @code { - private string responseBody; + private string? responseBody; private async Task PostRequest() { @@ -51,7 +51,7 @@ public class TodoItem { public long Id { get; set; } - public string Name { get; set; } + public string? Name { get; set; } public bool IsComplete { get; set; } } } diff --git a/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Pages/file-uploads/FileUpload2.razor b/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Pages/file-uploads/FileUpload2.razor index 53c668f1f68d..4d7f8e8e680e 100644 --- a/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Pages/file-uploads/FileUpload2.razor +++ b/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Pages/file-uploads/FileUpload2.razor @@ -107,21 +107,23 @@ var newUploadResults = await response.Content .ReadFromJsonAsync>(); - uploadResults = uploadResults.Concat(newUploadResults).ToList(); + if (newUploadResults is not null) + { + uploadResults = uploadResults.Concat(newUploadResults).ToList(); + } } shouldRender = true; } private static bool FileUpload(IList uploadResults, - string fileName, ILogger logger, out UploadResult result) + string? fileName, ILogger logger, out UploadResult result) { - result = uploadResults.SingleOrDefault(f => f.FileName == fileName); + result = uploadResults.SingleOrDefault(f => f.FileName == fileName) ?? new(); - if (result is null) + if (!result.Uploaded) { logger.LogInformation("{FileName} not uploaded (Err: 5)", fileName); - result = new(); result.ErrorCode = 5; } @@ -130,6 +132,6 @@ private class File { - public string Name { get; set; } + public string? Name { get; set; } } } diff --git a/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Pages/forms-and-validation/FormExample3.razor b/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Pages/forms-and-validation/FormExample3.razor index daea938bb29d..eeef6beac0de 100644 --- a/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Pages/forms-and-validation/FormExample3.razor +++ b/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Pages/forms-and-validation/FormExample3.razor @@ -32,7 +32,7 @@ IsValidatedDesign = true, ProductionDate = new DateTime(2245, 4, 11) }; - private EditContext editContext; + private EditContext? editContext; protected override void OnInitialized() { @@ -41,12 +41,13 @@ private async Task HandleSubmit() { - if (editContext.Validate()) + if (editContext != null && editContext.Validate()) { Logger.LogInformation("HandleSubmit called: Form is valid"); // Process the valid form // await ... + await Task.CompletedTask; } else { diff --git a/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Pages/forms-and-validation/FormExample4.razor b/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Pages/forms-and-validation/FormExample4.razor index 405571349da9..80d03879f89d 100644 --- a/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Pages/forms-and-validation/FormExample4.razor +++ b/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Pages/forms-and-validation/FormExample4.razor @@ -28,9 +28,9 @@ @code { - private EditContext editContext; + private EditContext? editContext; private Holodeck holodeck = new(); - private ValidationMessageStore messageStore; + private ValidationMessageStore? messageStore; protected override void OnInitialized() { @@ -39,15 +39,15 @@ messageStore = new(editContext); } - private void HandleValidationRequested(object sender, + private void HandleValidationRequested(object? sender, ValidationRequestedEventArgs args) { - messageStore.Clear(); + messageStore?.Clear(); // Custom validation logic if (!holodeck.Options) { - messageStore.Add(() => holodeck.Options, "Select at least one."); + messageStore?.Add(() => holodeck.Options, "Select at least one."); } } @@ -67,6 +67,9 @@ public void Dispose() { - editContext.OnValidationRequested -= HandleValidationRequested; + if (editContext is not null) + { + editContext.OnValidationRequested -= HandleValidationRequested; + } } } diff --git a/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Pages/forms-and-validation/FormExample5.razor b/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Pages/forms-and-validation/FormExample5.razor index af3eebaa37a4..e0137b48786a 100644 --- a/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Pages/forms-and-validation/FormExample5.razor +++ b/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Pages/forms-and-validation/FormExample5.razor @@ -38,12 +38,12 @@ @code { - private CustomValidation customValidation; + private CustomValidation? customValidation; private Starship starship = new() { ProductionDate = DateTime.UtcNow }; private void HandleValidSubmit() { - customValidation.ClearErrors(); + customValidation?.ClearErrors(); var errors = new Dictionary>(); @@ -57,7 +57,7 @@ if (errors.Any()) { - customValidation.DisplayErrors(errors); + customValidation?.DisplayErrors(errors); } else { diff --git a/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Pages/forms-and-validation/FormExample8.razor b/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Pages/forms-and-validation/FormExample8.razor index befb542bad5c..1e989d4cf261 100644 --- a/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Pages/forms-and-validation/FormExample8.razor +++ b/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Pages/forms-and-validation/FormExample8.razor @@ -13,7 +13,7 @@ @code { private ExampleModel exampleModel = new(); - private EditContext editContext; + private EditContext? editContext; protected override void OnInitialized() { diff --git a/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Pages/forms-and-validation/FormExample9.razor b/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Pages/forms-and-validation/FormExample9.razor index 8daa73aba5e1..6414c04cafa8 100644 --- a/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Pages/forms-and-validation/FormExample9.razor +++ b/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Pages/forms-and-validation/FormExample9.razor @@ -28,7 +28,7 @@ ProductionDate = new DateTime(2245, 4, 11) }; private bool formInvalid = false; - private EditContext editContext; + private EditContext? editContext; protected override void OnInitialized() { @@ -36,10 +36,13 @@ editContext.OnFieldChanged += HandleFieldChanged; } - private void HandleFieldChanged(object sender, FieldChangedEventArgs e) + private void HandleFieldChanged(object? sender, FieldChangedEventArgs e) { - formInvalid = !editContext.Validate(); - StateHasChanged(); + if (editContext is not null) + { + formInvalid = !editContext.Validate(); + StateHasChanged(); + } } private void HandleValidSubmit() @@ -51,6 +54,9 @@ public void Dispose() { - editContext.OnFieldChanged -= HandleFieldChanged; + if (editContext is not null) + { + editContext.OnFieldChanged -= HandleFieldChanged; + } } } diff --git a/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Pages/index/People.razor b/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Pages/index/People.razor index 445c7eaf1a69..2f97244a1db7 100644 --- a/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Pages/index/People.razor +++ b/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Pages/index/People.razor @@ -41,6 +41,6 @@ public class Person { - public string Data { get; set; } + public string? Data { get; set; } } } diff --git a/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Pages/index/RazorTemplate.razor b/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Pages/index/RazorTemplate.razor index 04e7ed47ab9d..92972538c496 100644 --- a/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Pages/index/RazorTemplate.razor +++ b/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Pages/index/RazorTemplate.razor @@ -10,6 +10,6 @@ private class Pet { - public string Name { get; set; } + public string? Name { get; set; } } } diff --git a/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Pages/index/ReferenceParent1.razor b/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Pages/index/ReferenceParent1.razor index 6d9d39fb2555..d2bdf13898e4 100644 --- a/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Pages/index/ReferenceParent1.razor +++ b/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Pages/index/ReferenceParent1.razor @@ -1,11 +1,11 @@ @page "/reference-parent-1" - @code { - private ReferenceChild childComponent; + private ReferenceChild? childComponent; } diff --git a/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Pages/index/ReferenceParent2.razor b/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Pages/index/ReferenceParent2.razor index 870d04cadc63..ab3ae005e71f 100644 --- a/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Pages/index/ReferenceParent2.razor +++ b/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Pages/index/ReferenceParent2.razor @@ -1,14 +1,14 @@ @page "/reference-parent-2" - @code { - private ReferenceChild childComponent; - private Action callChildMethod; + private ReferenceChild? childComponent; + private Action? callChildMethod; protected override void OnAfterRender(bool firstRender) { @@ -20,6 +20,6 @@ private void CallChildMethod() { - childComponent.ChildMethod(5); + childComponent?.ChildMethod(5); } } diff --git a/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Pages/index/ReferenceParent3.razor b/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Pages/index/ReferenceParent3.razor index ebf7765ede3e..997041189490 100644 --- a/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Pages/index/ReferenceParent3.razor +++ b/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Pages/index/ReferenceParent3.razor @@ -8,7 +8,7 @@
      • -
      • @@ -18,7 +18,7 @@ @code { private Random r = new(); private List components = new(); - private Action callChildMethod; + private Action? callChildMethod; private ReferenceChild childComponent { diff --git a/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Pages/index/RouteParameter.razor b/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Pages/index/RouteParameter.razor index 26227b97dac6..72e7bd26fe1b 100644 --- a/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Pages/index/RouteParameter.razor +++ b/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Pages/index/RouteParameter.razor @@ -4,7 +4,7 @@ @code { [Parameter] - public string Text { get; set; } + public string? Text { get; set; } protected override void OnInitialized() { diff --git a/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Pages/lifecycle/CounterWithTimerDisposal2.razor b/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Pages/lifecycle/CounterWithTimerDisposal2.razor index a1669b2c6192..35957a0d0f48 100644 --- a/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Pages/lifecycle/CounterWithTimerDisposal2.razor +++ b/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Pages/lifecycle/CounterWithTimerDisposal2.razor @@ -8,7 +8,7 @@ @code { private int currentCount = 0; - private Timer timer; + private Timer? timer; protected override void OnInitialized() { diff --git a/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Pages/lifecycle/OnInit.razor b/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Pages/lifecycle/OnInit.razor index ae589655f0ec..581de8c39f53 100644 --- a/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Pages/lifecycle/OnInit.razor +++ b/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Pages/lifecycle/OnInit.razor @@ -3,7 +3,7 @@

        @message

        @code { - private string message; + private string? message; protected override void OnInitialized() { diff --git a/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Pages/lifecycle/OnParamsSet.razor b/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Pages/lifecycle/OnParamsSet.razor index fc8103143352..bf14a3d31585 100644 --- a/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Pages/lifecycle/OnParamsSet.razor +++ b/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Pages/lifecycle/OnParamsSet.razor @@ -4,7 +4,7 @@

        @message

        @code { - private string message; + private string? message; [Parameter] public DateTime StartDate { get; set; } diff --git a/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Pages/lifecycle/SetParamsAsync.razor b/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Pages/lifecycle/SetParamsAsync.razor index 9f5004605012..e0cf6db469d4 100644 --- a/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Pages/lifecycle/SetParamsAsync.razor +++ b/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Pages/lifecycle/SetParamsAsync.razor @@ -6,7 +6,7 @@ private string message = "Not set"; [Parameter] - public string Param { get; set; } + public string? Param { get; set; } public override async Task SetParametersAsync(ParameterView parameters) { diff --git a/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Pages/routing/Navigate.razor b/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Pages/routing/Navigate.razor index c1022fbd793d..8e09cb96a578 100644 --- a/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Pages/routing/Navigate.razor +++ b/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Pages/routing/Navigate.razor @@ -21,7 +21,7 @@ NavigationManager.LocationChanged += HandleLocationChanged; } - private void HandleLocationChanged(object sender, LocationChangedEventArgs e) + private void HandleLocationChanged(object? sender, LocationChangedEventArgs e) { Logger.LogInformation("URL of new location: {Location}", e.Location); } diff --git a/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Pages/templated-components/Pets1.razor b/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Pages/templated-components/Pets1.razor index 296697b01ac2..8db776c5a105 100644 --- a/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Pages/templated-components/Pets1.razor +++ b/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Pages/templated-components/Pets1.razor @@ -24,6 +24,6 @@ private class Pet { public int PetId { get; set; } - public string Name { get; set; } + public string? Name { get; set; } } } diff --git a/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Shared/data-binding/NestedChild.razor b/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Shared/data-binding/NestedChild.razor index 7b21483b596c..489aa56b3e68 100644 --- a/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Shared/data-binding/NestedChild.razor +++ b/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Shared/data-binding/NestedChild.razor @@ -12,14 +12,14 @@ @code { [Parameter] - public string ChildMessage { get; set; } + public string? ChildMessage { get; set; } [Parameter] public EventCallback ChildMessageChanged { get; set; } private string BoundValue { - get => ChildMessage; + get => ChildMessage ?? string.Empty; set => ChildMessageChanged.InvokeAsync(value); } diff --git a/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Shared/data-binding/NestedGrandchild.razor b/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Shared/data-binding/NestedGrandchild.razor index 8d1aef3f3016..f4bde6089bef 100644 --- a/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Shared/data-binding/NestedGrandchild.razor +++ b/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Shared/data-binding/NestedGrandchild.razor @@ -10,7 +10,7 @@ @code { [Parameter] - public string GrandchildMessage { get; set; } + public string? GrandchildMessage { get; set; } [Parameter] public EventCallback GrandchildMessageChanged { get; set; } diff --git a/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Shared/data-binding/PasswordEntry.razor b/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Shared/data-binding/PasswordEntry.razor index 9c079cfa223d..89c815126436 100644 --- a/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Shared/data-binding/PasswordEntry.razor +++ b/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Shared/data-binding/PasswordEntry.razor @@ -18,17 +18,17 @@ @code { private bool showPassword; - private string password; + private string? password; [Parameter] - public string Password { get; set; } + public string? Password { get; set; } [Parameter] public EventCallback PasswordChanged { get; set; } private async Task OnPasswordChanged(ChangeEventArgs e) { - password = e.Value.ToString(); + password = e?.Value?.ToString(); await PasswordChanged.InvokeAsync(password); } diff --git a/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Shared/data-binding/PasswordEntry2.razor b/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Shared/data-binding/PasswordEntry2.razor index 11416865cd08..a14580e288e7 100644 --- a/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Shared/data-binding/PasswordEntry2.razor +++ b/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Shared/data-binding/PasswordEntry2.razor @@ -19,20 +19,20 @@ @code { private bool showPassword; - private string password; - private string validationMessage; + private string? password; + private string? validationMessage; [Parameter] - public string Password { get; set; } + public string? Password { get; set; } [Parameter] public EventCallback PasswordChanged { get; set; } private Task OnPasswordChanged(ChangeEventArgs e) { - password = e.Value.ToString(); + password = e?.Value?.ToString(); - if (password.Contains(' ')) + if (password != null && password.Contains(' ')) { validationMessage = "Spaces not allowed!"; diff --git a/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Shared/index/Expander.razor b/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Shared/index/Expander.razor index 5384ebc3ea6f..b1509b1dbfb3 100644 --- a/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Shared/index/Expander.razor +++ b/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Shared/index/Expander.razor @@ -16,7 +16,7 @@ public bool Expanded { get; set; } [Parameter] - public RenderFragment ChildContent { get; set; } + public RenderFragment? ChildContent { get; set; } protected override void OnInitialized() { diff --git a/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Shared/routing/NavMenu.razor b/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Shared/routing/NavMenu.razor deleted file mode 100644 index 2c53de458ab6..000000000000 --- a/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/Shared/routing/NavMenu.razor +++ /dev/null @@ -1,19 +0,0 @@ -
        - -
        - -@code { - private string NavMenuCssClass; - private void ToggleNavMenu() {} -} diff --git a/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/TimerService.cs b/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/TimerService.cs index 21e6ccbb970d..ced3a8a6cea9 100644 --- a/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/TimerService.cs +++ b/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/TimerService.cs @@ -9,7 +9,7 @@ public class TimerService : IDisposable private System.Timers.Timer timer; public TimerService(NotifierService notifier, - ILogger logger) + ILogger logger) { this.notifier = notifier; this.logger = logger; @@ -29,7 +29,7 @@ public void Start() } private async void HandleTimer(object source, - System.Timers.ElapsedEventArgs e) + System.Timers.ElapsedEventArgs e) { elapsedCount += 1; await notifier.Update("elapsedCount", elapsedCount); diff --git a/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/UploadResult.cs b/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/UploadResult.cs index 3ae08d36b082..441f5020df9c 100644 --- a/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/UploadResult.cs +++ b/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/UploadResult.cs @@ -1,7 +1,7 @@ public class UploadResult { public bool Uploaded { get; set; } - public string FileName { get; set; } - public string StoredFileName { get; set; } + public string? FileName { get; set; } + public string? StoredFileName { get; set; } public int ErrorCode { get; set; } } diff --git a/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/build-a-blazor-app/TodoItem.cs b/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/build-a-blazor-app/TodoItem.cs index cc54395e540f..e9dbfbe2d415 100644 --- a/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/build-a-blazor-app/TodoItem.cs +++ b/aspnetcore/blazor/samples/6.0/BlazorSample_WebAssembly/build-a-blazor-app/TodoItem.cs @@ -1,5 +1,5 @@ public class TodoItem { - public string Title { get; set; } + public string? Title { get; set; } public bool IsDone { get; set; } } diff --git a/aspnetcore/blazor/samples/6.0/BlazorServerEFCoreSample/BlazorServerDbContextExample/BlazorServerDbContextExample.csproj b/aspnetcore/blazor/samples/6.0/BlazorServerEFCoreSample/BlazorServerDbContextExample/BlazorServerDbContextExample.csproj index a072dd6da67d..c960a4d53fa3 100644 --- a/aspnetcore/blazor/samples/6.0/BlazorServerEFCoreSample/BlazorServerDbContextExample/BlazorServerDbContextExample.csproj +++ b/aspnetcore/blazor/samples/6.0/BlazorServerEFCoreSample/BlazorServerDbContextExample/BlazorServerDbContextExample.csproj @@ -7,7 +7,7 @@ - + diff --git a/aspnetcore/blazor/samples/6.0/BlazorServerEFCoreSample/BlazorServerDbContextExample/Program.cs b/aspnetcore/blazor/samples/6.0/BlazorServerEFCoreSample/BlazorServerDbContextExample/Program.cs index b7a6b0553d3a..f3f27a6b7b0d 100644 --- a/aspnetcore/blazor/samples/6.0/BlazorServerEFCoreSample/BlazorServerDbContextExample/Program.cs +++ b/aspnetcore/blazor/samples/6.0/BlazorServerEFCoreSample/BlazorServerDbContextExample/Program.cs @@ -50,7 +50,7 @@ // Configure the HTTP request pipeline. if (app.Environment.IsDevelopment()) { - app.UseDeveloperExceptionPage(); + app.UseDeveloperExceptionPage(); } else { diff --git a/aspnetcore/tutorials/build-a-blazor-app.md b/aspnetcore/tutorials/build-a-blazor-app.md index a29fc1ebdeff..e4d8a7e1c75a 100644 --- a/aspnetcore/tutorials/build-a-blazor-app.md +++ b/aspnetcore/tutorials/build-a-blazor-app.md @@ -126,7 +126,9 @@ cd TodoList 1. To get the title of the new todo item, add a `newTodo` string field at the top of the `@code` block: - [!code-razor[](~/blazor/samples/6.0/BlazorSample_WebAssembly/Pages/build-a-blazor-app/Todo5.razor?highlight=3)] + ```csharp + private string? newTodo; + ``` Modify the text `` element to bind `newTodo` with the `@bind` attribute: @@ -301,7 +303,9 @@ cd TodoList 1. To get the title of the new todo item, add a `newTodo` string field at the top of the `@code` block: - [!code-razor[](~/blazor/samples/5.0/BlazorSample_WebAssembly/Pages/build-a-blazor-app/Todo5.razor?highlight=3)] + ```csharp + private string newTodo; + ``` Modify the text `` element to bind `newTodo` with the `@bind` attribute: @@ -476,7 +480,9 @@ cd TodoList 1. To get the title of the new todo item, add a `newTodo` string field at the top of the `@code` block: - [!code-razor[](~/blazor/samples/3.1/BlazorSample_WebAssembly/Pages/build-a-blazor-app/Todo5.razor?highlight=3)] + ```csharp + private string newTodo; + ``` Modify the text `` element to bind `newTodo` with the `@bind` attribute: diff --git a/aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/BlazorServerSignalRApp.csproj b/aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/BlazorServerSignalRApp.csproj index 9aff36f1fed6..ca3190bde877 100644 --- a/aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/BlazorServerSignalRApp.csproj +++ b/aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorServerSignalRApp/BlazorServerSignalRApp.csproj @@ -7,7 +7,7 @@ - + diff --git a/aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/BlazorWebAssemblySignalRApp.Client.csproj b/aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/BlazorWebAssemblySignalRApp.Client.csproj index 8213b8f92497..52528f9a8926 100644 --- a/aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/BlazorWebAssemblySignalRApp.Client.csproj +++ b/aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Client/BlazorWebAssemblySignalRApp.Client.csproj @@ -7,10 +7,10 @@ - - - - + + + + diff --git a/aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Server/BlazorWebAssemblySignalRApp.Server.csproj b/aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Server/BlazorWebAssemblySignalRApp.Server.csproj index 9acf581b3d29..b4aa99650e0a 100644 --- a/aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Server/BlazorWebAssemblySignalRApp.Server.csproj +++ b/aspnetcore/tutorials/signalr-blazor/samples/6.0/BlazorWebAssemblySignalRApp/Server/BlazorWebAssemblySignalRApp.Server.csproj @@ -7,7 +7,7 @@ - +