【发布时间】:2022-06-12 00:22:10
【问题描述】:
我尝试像这样传递和调用函数,但 Visual Studio 告诉我:将方法组“OnOk”转换为非委托类型“对象”。您是否打算调用该方法?
我的 TestPage.razor
<div>
Some content..
</div>
@code {
async Task DeleteServer(Server server)
{
var parameters = new DialogParameters { ["server"] = server,
["Title"] = "Title Text !!!",
["ContentText"] = "Content text !!!",
["OkBtnText"] = "Окейси",
["OkButtonDisabled"] = true,
["OnOk"] = OnOk
};
var dialog = DialogService.Show<Modal>("Delete Server", parameters);
var result = await dialog.Result;
if (!result.Cancelled)
{
Guid.TryParse(result.Data.ToString(), out Guid deletedServer);
Servers.RemoveAll(item => item.Id == deletedServer);
}
}
private void OnOk()
{
Console.WriteLine("Ok Cliked");
}
和 Modal.razor
<DialogActions>
<MudButton Color="Color.Success" OnClick="Cancel">Cancel</MudButton>
<MudButton OnClick=@HandleOkClicked>@OkBtnText</MudButton>
</DialogActions>
@code {
[Parameter]
public EventCallback OnOk { get; set; }
private void HandleOkClicked()
{
OnOk.InvokeAsync();
}
}
【问题讨论】:
标签: c# .net razor blazor mudblazor