作為我專案具體需求的一部分,我必須在Blazor代碼背后(.cs檔案)使用渲染片段。使用下面的代碼,我能夠正確地呈現一個按鈕,但是@onclick處理程式似乎沒有作業或被擊中。
我如何在 renderfragment builder 中正確地添加一個 onclick?
RenderFragment template = builder =>
{
builder. AddMarkupContent(1, $"< button class='btn btn-success' @onclick='()=> OnToastClick({toastDetail. Key})'>{toastDetail.Key}</button>")。)
};
uj5u.com熱心網友回復:
AddMarkupContent()添加HTML標記,它不決議Razor內容。
我所能想到的最好的辦法是:
RenderFragment template(IComponent owner, ToastDetail toastDetail)
{
return builder =>/span>
{
builder.OpenElement(1, "button") 。
builder.AddAttribute(2, "class"/span>, "btn btn-success"/span>)。
builder.AddAttribute(3, "onclick" ,
Microsoft.AspNetCore.Components。 EventCallback.Factory.Create(owner,
() => OnToastClick(toastDetail.Key) )。
builder.AddContent(4, toastDetail.Key) 。
builder.CloseElement()。
};
}
然后你可以像這樣使用它
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/306965.html
標籤:
