首页 > 解决方案 > 锚元素有效,但 Blazor 客户端中的按钮无效

问题描述

我是 Blazor 的新手,我正在GitHub 上的 blazor-workshop中开发示例应用程序 (Blazing Pizza) 。在教程的一个步骤中,使用一个按钮转到另一个页面

<button href="checkout">Order</button>

这不起作用,所以我尝试从按钮更改为锚点,这确实有效:

<a href="checkout">Order</a>

Blazor 正在客户端运行。

谁能解释为什么按钮不起作用,但锚点起作用了?我也是 HTML 新手,所以它可能是非常基本的东西。

标签: htmlblazorblazor-client-side

解决方案


看看<button>文档。href不是它的有效属性。通常,button元素用于提交表单或附加一个事件处理程序以在单击它们时“执行此操作”。

正如您所发现的,标准的“单击以转到其他地方”是<a>锚元素,它本身就支持该href属性。

您不能只在任何元素中粘贴任何属性,并且默认情况下它的行为相同。出于样式目的,您需要使用一些 CSS 让您的链接看起来更像一个按钮。这通常也是 HTML 固有的,与 blazor 没有任何关系。


推荐阅读