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

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 7 additions & 2 deletions .openpublishing.redirection.json
Original file line number Diff line number Diff line change
Expand Up @@ -847,7 +847,7 @@
},
{
"source_path": "aspnetcore/razor-components/forms-validation.md",
"redirect_url": "/aspnet/core/blazor/forms-and-input-components",
"redirect_url": "/aspnet/core/blazor/forms/",
"redirect_document_id": false
},
{
Expand Down Expand Up @@ -1201,7 +1201,7 @@
},
{
"source_path": "aspnetcore/blazor/forms-validation.md",
"redirect_url": "/aspnet/core/blazor/forms-and-input-components",
"redirect_url": "/aspnet/core/blazor/forms/",
"redirect_document_id": false
},
{
Expand Down Expand Up @@ -1257,6 +1257,11 @@
"source_path": "aspnetcore/blazor/blazor-server-ef-core.md",
"redirect_url": "/aspnet/core/blazor/blazor-ef-core",
"redirect_document_id": false
},
{
"source_path": "aspnetcore/blazor/forms-and-input-components.md",
"redirect_url": "/aspnet/core/blazor/forms/",
"redirect_document_id": false
}
]
}
82 changes: 41 additions & 41 deletions aspnetcore/blazor/components/built-in-components.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ The following built-in Razor components are provided by the Blazor framework:
<!-- UPDATE 8.0 Confirm/update list -->

* [`App`](xref:blazor/project-structure)
* [`AntiforgeryToken`](xref:blazor/forms-and-input-components#antiforgery-support)
* [`AntiforgeryToken`](xref:blazor/forms/index#antiforgery-support)
* [`Authentication`](xref:blazor/security/webassembly/index#authentication-component)
* [`AuthorizeView`](xref:blazor/security/index#authorizeview-component)
* [`CascadingValue`](xref:blazor/components/cascading-values-and-parameters#cascadingvalue-component)
Expand All @@ -28,15 +28,15 @@ The following built-in Razor components are provided by the Blazor framework:
* [`FocusOnNavigate`](xref:blazor/fundamentals/routing#focus-an-element-on-navigation)
* [`HeadContent`](xref:blazor/components/control-head-content)
* [`HeadOutlet`](xref:blazor/components/control-head-content)
* [`InputCheckbox`](xref:blazor/forms-and-input-components#built-in-input-components)
* [`InputDate`](xref:blazor/forms-and-input-components#built-in-input-components)
* [`InputCheckbox`](xref:blazor/forms/input-components)
* [`InputDate`](xref:blazor/forms/input-components)
* [`InputFile`](xref:blazor/file-uploads)
* [`InputNumber`](xref:blazor/forms-and-input-components#built-in-input-components)
* [`InputRadio`](xref:blazor/forms-and-input-components#built-in-input-components)
* [`InputRadioGroup`](xref:blazor/forms-and-input-components#built-in-input-components)
* [`InputSelect`](xref:blazor/forms-and-input-components#built-in-input-components)
* [`InputText`](xref:blazor/forms-and-input-components#built-in-input-components)
* [`InputTextArea`](xref:blazor/forms-and-input-components#built-in-input-components)
* [`InputNumber`](xref:blazor/forms/input-components)
* [`InputRadio`](xref:blazor/forms/input-components)
* [`InputRadioGroup`](xref:blazor/forms/input-components)
* [`InputSelect`](xref:blazor/forms/input-components)
* [`InputText`](xref:blazor/forms/input-components)
* [`InputTextArea`](xref:blazor/forms/input-components)
* [`LayoutView`](xref:blazor/components/layouts#apply-a-layout-to-arbitrary-content-layoutview-component)
* [`MainLayout`](xref:blazor/components/layouts#mainlayout-component)
* [`NavLink`](xref:blazor/fundamentals/routing#navlink-and-navmenu-components)
Expand All @@ -62,15 +62,15 @@ The following built-in Razor components are provided by the Blazor framework:
* [`FocusOnNavigate`](xref:blazor/fundamentals/routing#focus-an-element-on-navigation)
* [`HeadContent`](xref:blazor/components/control-head-content)
* [`HeadOutlet`](xref:blazor/components/control-head-content)
* [`InputCheckbox`](xref:blazor/forms-and-input-components#built-in-input-components)
* [`InputDate`](xref:blazor/forms-and-input-components#built-in-input-components)
* [`InputCheckbox`](xref:blazor/forms/input-components)
* [`InputDate`](xref:blazor/forms/input-components)
* [`InputFile`](xref:blazor/file-uploads)
* [`InputNumber`](xref:blazor/forms-and-input-components#built-in-input-components)
* [`InputRadio`](xref:blazor/forms-and-input-components#built-in-input-components)
* [`InputRadioGroup`](xref:blazor/forms-and-input-components#built-in-input-components)
* [`InputSelect`](xref:blazor/forms-and-input-components#built-in-input-components)
* [`InputText`](xref:blazor/forms-and-input-components#built-in-input-components)
* [`InputTextArea`](xref:blazor/forms-and-input-components#built-in-input-components)
* [`InputNumber`](xref:blazor/forms/input-components)
* [`InputRadio`](xref:blazor/forms/input-components)
* [`InputRadioGroup`](xref:blazor/forms/input-components)
* [`InputSelect`](xref:blazor/forms/input-components)
* [`InputText`](xref:blazor/forms/input-components)
* [`InputTextArea`](xref:blazor/forms/input-components)
* [`LayoutView`](xref:blazor/components/layouts#apply-a-layout-to-arbitrary-content-layoutview-component)
* [`MainLayout`](xref:blazor/components/layouts#mainlayout-component)
* [`NavLink`](xref:blazor/fundamentals/routing#navlink-and-navmenu-components)
Expand All @@ -94,15 +94,15 @@ The following built-in Razor components are provided by the Blazor framework:
* [`FocusOnNavigate`](xref:blazor/fundamentals/routing#focus-an-element-on-navigation)
* [`HeadContent`](xref:blazor/components/control-head-content)
* [`HeadOutlet`](xref:blazor/components/control-head-content)
* [`InputCheckbox`](xref:blazor/forms-and-input-components#built-in-input-components)
* [`InputDate`](xref:blazor/forms-and-input-components#built-in-input-components)
* [`InputCheckbox`](xref:blazor/forms/input-components)
* [`InputDate`](xref:blazor/forms/input-components)
* [`InputFile`](xref:blazor/file-uploads)
* [`InputNumber`](xref:blazor/forms-and-input-components#built-in-input-components)
* [`InputRadio`](xref:blazor/forms-and-input-components#built-in-input-components)
* [`InputRadioGroup`](xref:blazor/forms-and-input-components#built-in-input-components)
* [`InputSelect`](xref:blazor/forms-and-input-components#built-in-input-components)
* [`InputText`](xref:blazor/forms-and-input-components#built-in-input-components)
* [`InputTextArea`](xref:blazor/forms-and-input-components#built-in-input-components)
* [`InputNumber`](xref:blazor/forms/input-components)
* [`InputRadio`](xref:blazor/forms/input-components)
* [`InputRadioGroup`](xref:blazor/forms/input-components)
* [`InputSelect`](xref:blazor/forms/input-components)
* [`InputText`](xref:blazor/forms/input-components)
* [`InputTextArea`](xref:blazor/forms/input-components)
* [`LayoutView`](xref:blazor/components/layouts#apply-a-layout-to-arbitrary-content-layoutview-component)
* [`MainLayout`](xref:blazor/components/layouts#mainlayout-component)
* [`NavLink`](xref:blazor/fundamentals/routing#navlink-and-navmenu-components)
Expand All @@ -120,15 +120,15 @@ The following built-in Razor components are provided by the Blazor framework:
* [`Authentication`](xref:blazor/security/webassembly/index#authentication-component)
* [`AuthorizeView`](xref:blazor/security/index#authorizeview-component)
* [`CascadingValue`](xref:blazor/components/cascading-values-and-parameters#cascadingvalue-component)
* [`InputCheckbox`](xref:blazor/forms-and-input-components#built-in-input-components)
* [`InputDate`](xref:blazor/forms-and-input-components#built-in-input-components)
* [`InputCheckbox`](xref:blazor/forms/input-components)
* [`InputDate`](xref:blazor/forms/input-components)
* [`InputFile`](xref:blazor/file-uploads)
* [`InputNumber`](xref:blazor/forms-and-input-components#built-in-input-components)
* [`InputRadio`](xref:blazor/forms-and-input-components#built-in-input-components)
* [`InputRadioGroup`](xref:blazor/forms-and-input-components#built-in-input-components)
* [`InputSelect`](xref:blazor/forms-and-input-components#built-in-input-components)
* [`InputText`](xref:blazor/forms-and-input-components#built-in-input-components)
* [`InputTextArea`](xref:blazor/forms-and-input-components#built-in-input-components)
* [`InputNumber`](xref:blazor/forms/input-components)
* [`InputRadio`](xref:blazor/forms/input-components)
* [`InputRadioGroup`](xref:blazor/forms/input-components)
* [`InputSelect`](xref:blazor/forms/input-components)
* [`InputText`](xref:blazor/forms/input-components)
* [`InputTextArea`](xref:blazor/forms/input-components)
* [`LayoutView`](xref:blazor/components/layouts#apply-a-layout-to-arbitrary-content-layoutview-component)
* [`MainLayout`](xref:blazor/components/layouts#mainlayout-component)
* [`NavLink`](xref:blazor/fundamentals/routing#navlink-and-navmenu-components)
Expand All @@ -145,14 +145,14 @@ The following built-in Razor components are provided by the Blazor framework:
* [`Authentication`](xref:blazor/security/webassembly/index#authentication-component)
* [`AuthorizeView`](xref:blazor/security/index#authorizeview-component)
* [`CascadingValue`](xref:blazor/components/cascading-values-and-parameters#cascadingvalue-component)
* [`InputCheckbox`](xref:blazor/forms-and-input-components#built-in-input-components)
* [`InputDate`](xref:blazor/forms-and-input-components#built-in-input-components)
* [`InputNumber`](xref:blazor/forms-and-input-components#built-in-input-components)
* [`InputRadio`](xref:blazor/forms-and-input-components#built-in-input-components)
* [`InputRadioGroup`](xref:blazor/forms-and-input-components#built-in-input-components)
* [`InputSelect`](xref:blazor/forms-and-input-components#built-in-input-components)
* [`InputText`](xref:blazor/forms-and-input-components#built-in-input-components)
* [`InputTextArea`](xref:blazor/forms-and-input-components#built-in-input-components)
* [`InputCheckbox`](xref:blazor/forms/input-components)
* [`InputDate`](xref:blazor/forms/input-components)
* [`InputNumber`](xref:blazor/forms/input-components)
* [`InputRadio`](xref:blazor/forms/input-components)
* [`InputRadioGroup`](xref:blazor/forms/input-components)
* [`InputSelect`](xref:blazor/forms/input-components)
* [`InputText`](xref:blazor/forms/input-components)
* [`InputTextArea`](xref:blazor/forms/input-components)
* [`LayoutView`](xref:blazor/components/layouts#apply-a-layout-to-arbitrary-content-layoutview-component)
* [`MainLayout`](xref:blazor/components/layouts#mainlayout-component)
* [`NavLink`](xref:blazor/fundamentals/routing#navlink-and-navmenu-components)
Expand Down
12 changes: 6 additions & 6 deletions aspnetcore/blazor/components/data-binding.md
Original file line number Diff line number Diff line change
Expand Up @@ -180,7 +180,7 @@ Additional examples
}
```

For more information on the `InputText` component, see <xref:blazor/forms-and-input-components>.
For more information on the `InputText` component, see <xref:blazor/forms/input-components>.

Components support two-way data binding by defining a pair of parameters:

Expand Down Expand Up @@ -229,7 +229,7 @@ Examples
}
```

For more information on the `InputText` component, see <xref:blazor/forms-and-input-components>.
For more information on the `InputText` component, see <xref:blazor/forms/input-components>.

For another example use of `@bind:get` and `@bind:set`, see the [Bind across more than two components](#bind-across-more-than-two-components) section later in this article.

Expand Down Expand Up @@ -457,7 +457,7 @@ For the `oninput` event (`@bind:event="oninput"`), a value reversion occurs afte

* Don't use the `oninput` event. Use the default `onchange` event, where an invalid value isn't reverted until the element loses focus.
* Bind to a nullable type, such as `int?` or `string` and either use `@bind:get`/`@bind:set` modifiers (described earlier in this article) or [bind to a property with custom `get` and `set` accessor logic](#binding-to-a-property-with-c-get-and-set-accessors) to handle invalid entries.
* Use a [form validation component](xref:blazor/forms-and-input-components), such as <xref:Microsoft.AspNetCore.Components.Forms.InputNumber%601> or <xref:Microsoft.AspNetCore.Components.Forms.InputDate%601>. Form validation components provide built-in support to manage invalid inputs. Form validation components:
* Use a [form validation component](xref:blazor/forms/validation), such as <xref:Microsoft.AspNetCore.Components.Forms.InputNumber%601> or <xref:Microsoft.AspNetCore.Components.Forms.InputDate%601>. Form validation components provide built-in support to manage invalid inputs. Form validation components:
* Permit the user to provide invalid input and receive validation errors on the associated <xref:Microsoft.AspNetCore.Components.Forms.EditContext>.
* Display validation errors in the UI without interfering with the user entering additional webform data.

Expand Down Expand Up @@ -812,8 +812,8 @@ For an alternative approach suited to sharing data in memory and across componen
## Additional resources

* [Parameter change detection and additional guidance on Razor component rendering](xref:blazor/components/rendering)
* <xref:blazor/forms-and-input-components>
* [Binding to radio buttons in a form](xref:blazor/forms-and-input-components#radio-buttons)
* [Binding `InputSelect` options to C# object `null` values](xref:blazor/forms-and-input-components#binding-inputselect-options-to-c-object-null-values)
* <xref:blazor/forms/index>
* [Binding to radio buttons in a form](xref:blazor/forms/binding#radio-buttons)
* [Binding `InputSelect` options to C# object `null` values](xref:blazor/forms/binding#binding-inputselect-options-to-c-object-null-values)
* [ASP.NET Core Blazor event handling: `EventCallback` section](xref:blazor/components/event-handling#eventcallback)
* [Blazor samples GitHub repository (`dotnet/blazor-samples`)](https://github.com/dotnet/blazor-samples)
2 changes: 1 addition & 1 deletion aspnetcore/blazor/components/integration.md
Original file line number Diff line number Diff line change
Expand Up @@ -188,7 +188,7 @@ Add the following `Counter` component to the app that adopts the interactive ser

```razor
@page "/counter"
@rendermode InteractiveServer
@rendermode RenderMode.InteractiveServer

<PageTitle>Counter</PageTitle>

Expand Down
4 changes: 2 additions & 2 deletions aspnetcore/blazor/components/lifecycle.md
Original file line number Diff line number Diff line change
Expand Up @@ -579,7 +579,7 @@ These are unusual scenarios. For objects that are implemented correctly and beha

### Event handlers

Always unsubscribe event handlers from .NET events. The following [Blazor form](xref:blazor/forms-and-input-components) examples show how to unsubscribe an event handler in the `Dispose` method:
Always unsubscribe event handlers from .NET events. The following [Blazor form](xref:blazor/forms/index) examples show how to unsubscribe an event handler in the `Dispose` method:

<!-- UPDATE 8.0 There's a form here, potentially to receive 8.0 updates -->

Expand Down Expand Up @@ -690,7 +690,7 @@ When [anonymous functions](/dotnet/csharp/programming-guide/statements-expressio
}
```

The full example of the preceding code with anonymous lambda expressions appears in the <xref:blazor/forms-and-input-components#validator-components> article.
The full example of the preceding code with anonymous lambda expressions appears in the <xref:blazor/forms/validation#validator-components> article.

For more information, see [Cleaning up unmanaged resources](/dotnet/standard/garbage-collection/unmanaged) and the topics that follow it on implementing the `Dispose` and `DisposeAsync` methods.

Expand Down
2 changes: 1 addition & 1 deletion aspnetcore/blazor/file-downloads.md
Original file line number Diff line number Diff line change
Expand Up @@ -254,5 +254,5 @@ For more information on CORS with ASP.NET Core apps and other Microsoft products
* <xref:blazor/js-interop/index>
* [`<a>`: The Anchor element: Security and privacy (MDN documentation)](https://developer.mozilla.org/docs/Web/HTML/Element/a#security_and_privacy)
* <xref:blazor/file-uploads>
* <xref:blazor/forms-and-input-components>
* <xref:blazor/forms/index>
* [Blazor samples GitHub repository (`dotnet/blazor-samples`)](https://github.com/dotnet/blazor-samples)
4 changes: 2 additions & 2 deletions aspnetcore/blazor/file-uploads.md
Original file line number Diff line number Diff line change
Expand Up @@ -1419,15 +1419,15 @@ For more information on SignalR configuration and how to set <xref:Microsoft.Asp

* <xref:blazor/file-downloads>
* <xref:mvc/models/file-uploads#security-considerations>
* <xref:blazor/forms-and-input-components>
* <xref:blazor/forms/index>
* [Blazor samples GitHub repository (`dotnet/blazor-samples`)](https://github.com/dotnet/blazor-samples)

:::moniker-end

:::moniker range="< aspnetcore-6.0"

* <xref:mvc/models/file-uploads#security-considerations>
* <xref:blazor/forms-and-input-components>
* <xref:blazor/forms/index>
* [Blazor samples GitHub repository (`dotnet/blazor-samples`)](https://github.com/dotnet/blazor-samples)

:::moniker-end
Loading