diff --git a/README.md b/README.md
index 3e26a5e2e..617de49a9 100644
--- a/README.md
+++ b/README.md
@@ -32,7 +32,6 @@ There are a significant number of controls in ASP.NET Web Forms, and we will foc
- [DropDownList](docs/EditorControls/DropDownList.md)
- FileUpload
- [HiddenField](docs/EditorControls/HiddenField.md)
- - [HyperLink](docs/EditorControls/HyperLink.md)
- [Image](docs/EditorControls/Image.md)
- [ImageButton](docs/EditorControls/ImageButton.md)
- ImageMap
@@ -69,7 +68,8 @@ There are a significant number of controls in ASP.NET Web Forms, and we will foc
- [RequiredFieldValidator](docs/ValidationControls/RequiredFieldValidator.md)
- [ValidationSummary](docs/ValidationControls/ValidationSummary.md)
- Navigation Controls
- - [Menu](docs/Menu.md)
+ - [HyperLink](docs/NavigationControls/HyperLink.md)
+ - [Menu](docs/NavigationControls/Menu.md)
- SiteMapPath
- [TreeView](docs/NavigationControls/TreeView.md)
- Login Controls
diff --git a/docs/EditorControls/Button.md b/docs/EditorControls/Button.md
index acf38d834..9fa39b22c 100644
--- a/docs/EditorControls/Button.md
+++ b/docs/EditorControls/Button.md
@@ -1,19 +1,37 @@
-It may seem strange that we have a Button component when there already is an HTML button and Blazor has features that enable C# interactions with that button, but we need to activate other features that were once present in Web Forms. Original Web Forms documentation is at: https://docs.microsoft.com/en-us/dotnet/api/system.web.ui.webcontrols.button?view=netframework-4.8
+# Button
-## Blazor Features Supported
+The **Button** component displays a push button control that allows users to trigger actions. It may seem strange that we have a Button component when there already is an HTML button and Blazor has features that enable C# interactions with that button, but we need to activate other features that were once present in Web Forms, such as `OnCommand` event bubbling, `OnClientClick` JavaScript execution, and `CausesValidation` support.
-- OnClick event handler
-- OnClientClick JavaScript pointer
-- OnCommand event handler with event bubbling
-- Button Style attributes and CssClass formatting
-- CausesValidation will control whether Form validation is triggered on click
+Original Microsoft documentation: https://docs.microsoft.com/en-us/dotnet/api/system.web.ui.webcontrols.button?view=netframework-4.8
-## WebForms Features Not Supported
+## Features Supported in Blazor
-- PostBackUrl is not supported as you will be triggering Button click events on the same page
-- UseSubmitBehavior is not supported as Blazor buttons trigger click events and you can inspect the Form regardless
+- `Text` - the text displayed on the button
+- `OnClick` - event handler triggered when button is clicked
+- `OnClientClick` - JavaScript code to execute on client-side click
+- `OnCommand` - event handler with event bubbling, receives `CommandEventArgs` with `CommandName` and `CommandArgument`
+- `CommandName` - the command name passed to `OnCommand` event
+- `CommandArgument` - the command argument passed to `OnCommand` event
+- `CausesValidation` - controls whether form validation is triggered on click (default: `true`)
+- `Enabled` - enables or disables the button
+- `Visible` - controls button visibility
+- `ToolTip` - tooltip text displayed on hover
+- All style properties (`BackColor`, `ForeColor`, `BorderColor`, `BorderStyle`, `BorderWidth`, `CssClass`, `Width`, `Height`, `Font`)
-## WebForms Syntax
+### Blazor Notes
+
+- The `OnCommand` event uses a `CommandEventArgs` class that contains `CommandName` and `CommandArgument` properties
+- When `CommandName` is set, clicking the button triggers `OnCommand` instead of `OnClick`
+- Event bubbling is supported for container components that need to handle commands from child buttons
+
+## Web Forms Features NOT Supported
+
+- **PostBackUrl** - Not supported; Blazor uses component events instead of postbacks to different pages
+- **UseSubmitBehavior** - Not supported; Blazor buttons trigger click events and you can inspect the form regardless
+- **ValidationGroup** - Not yet implemented; use EditForm validation instead
+- **AccessKey** - Use HTML `accesskey` attribute directly if needed
+
+## Web Forms Declarative Syntax
```html
```
+
+## Blazor Razor Syntax
+
+### Basic Button with Click Event
+
+```razor
+
+
+@code {
+ void HandleClick()
+ {
+ // Handle the click
+ }
+}
+```
+
+### Button with Command
+
+```razor
+
+
+@code {
+ private string itemId = "123";
+
+ void HandleCommand(CommandEventArgs args)
+ {
+ var command = args.CommandName; // "Save"
+ var argument = args.CommandArgument; // "123"
+ }
+}
+```
+
+### Button with JavaScript Click
+
+```razor
+
+```
+
+### Styled Button
+
+```razor
+
+```
+
+### Disabled Button
+
+```razor
+
+```
+
+### Button with Validation Control
+
+```razor
+
+
+
+
+ @* This button triggers validation *@
+
+
+ @* This button skips validation *@
+
+
+```
+
+## HTML Output
+
+**Web Forms Input:**
+```html
+
+```
+
+**Rendered HTML:**
+```html
+
+```
+
+**Styled Button Input:**
+```razor
+
+```
+
+**Rendered HTML:**
+```html
+
+```
+
+## Migration Notes
+
+When migrating from Web Forms to Blazor:
+
+1. **Remove `asp:` prefix** - Change `` to `