BLAZOR:使用组件基类模型时,会自动触发Onclick事件

时间:2020-06-18 11:52:59

标签: blazor blazor-server-side

我的剃须刀页面如下。它继承了PaymentBase类,该类具有代码背后的代码。

@page "/payment"
@inherits PaymentBase

<h1>Payments</h1>

<button class="btn btn-primary" onclick="@GetList()">List all payments</button>

一旦呈现页面而不是单击事件,将自动触发GetList函数。 有任何帮助吗?

2 个答案:

答案 0 :(得分:1)

您需要传递一个函数,而不是调用该函数。

<button class="btn btn-primary" @onclick="GetList">List all payments</button>

通过执行@onclick="GetList",您将函数传递给onclick,通过执行@onclick="GetList()",您将调用GetList并将GetList()的返回值传递给{{ 1}}。

也不要忘记在onclick之前添加@

答案 1 :(得分:1)

onclick="@GetList()"

在渲染组件时执行上述代码,因为对指令@GetList()的评估是对GetList的执行,其结果已分配给按钮元素的onclick属性

注意:onclick是button元素的一个属性,但是@onclick是一个编译器指令属性,指示编译器创建一个EventCallback'delegate',该封装了名称作为此值提供方法的方法。属性。

始终使用以下模式:@onclick="<MethodName>"

请注意,以下代码是合法的,但不建议使用,因为它不必要地结合了C#和JavaScript:onclick="window.prompt('Enter you name...')"

希望这对您有帮助...