BLAZOR:Onclick事件在使用组件基类模型时自动激发

BLAZOR:Onclick事件在使用组件基类模型时自动激发,blazor,blazor-server-side,Blazor,Blazor Server Side,我有一个剃须刀页面如下。它继承了具有代码隐藏的PaymentBase类 @page "/payment" @inherits PaymentBase <h1>Payments</h1> <button class="btn btn-primary" onclick="@GetList()">List all payments</button> @page”/payment @继承工资基数 付款 列出所有付款 页面呈现后,GetList函数将

我有一个剃须刀页面如下。它继承了具有代码隐藏的PaymentBase类

@page "/payment"
@inherits PaymentBase

<h1>Payments</h1>

<button class="btn btn-primary" onclick="@GetList()">List all payments</button>
@page”/payment
@继承工资基数
付款
列出所有付款
页面呈现后,
GetList
函数将自动启动,而不是单击事件。。
有什么帮助吗???

您需要传递函数,而不是调用函数

<button class="btn btn-primary" @onclick="GetList">List all payments</button>
列出所有付款
通过执行
@onclick=“GetList”
将函数传递给
onclick
,通过执行
@onclick=“GetList()”
调用
GetList
并将
GetList()
的返回传递给
onclick

onclick="@GetList()"
另外,不要忘记在单击
之前添加
@

onclick="@GetList()"
在呈现组件时执行上述代码,因为指令
@GetList()
被评估为执行
GetList
,其结果被分配给按钮元素的
onclick
属性

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

始终使用以下模式:
@onclick=”“

请注意,以下代码是合法的,但不推荐使用,因为它不必要地结合了C#和JavaScript:
onclick=“window.prompt('enteryourname…')”


希望这有助于…

对于您的解决方案,我得到的是“当前上下文中不存在onclick的名称”,对于函数名,它抱怨“缺少属性名”。注意:我在代码隐藏文件C#中调用函数,而不是在razor页面中itself@surajsingh对不起,我错了,请看一下我的答案,现在它应该work@surajsingh您使用的blazor和.net版本是什么?