@if(!string.IsNullOrEmpty(_markup))
{
@((MarkupString)_markup)
}
@code {
public string _markup = "<ul><li class='li-a'>A</li><li class='li-a'>B</li></ul>";
}
我想在 MarkupString 中绑定事件。
我留下问题是因为我对 Blazor 没有足够的了解,因此,我没有足够的关键字在 Google 上搜索。
前)
public string _markup = "<ul><li class='li-a' @onclick="(e) => clicktext(e)">A</li><li class='li-a' @onclick="(e) => clicktext(e)">B</li></ul>";
void clicktext(object e)
{
//code here..
}
你不能用 MarkupString 来做到这一点。如果您想要交互行为,您需要使用
RenderFragment
。由于您没有提供问题的任何背景信息,我不知道这是否适合您的用例。
这是一个简单的例子:
@page "/"
@using Microsoft.AspNetCore.Components.Rendering
<PageTitle>Home</PageTitle>
<h1>Hello, world!</h1>
@_markup
@code{
private RenderFragment _markup => (__builder) =>
{
<ul>
<li class="li-a" @onclick="OnClickText">A</li>
<li class="li-a" @onclick="OnClickText">B</li>
</ul>
};
private Task OnClickText(MouseEventArgs e)
{
//code here..
return Task.CompletedTask;
}
}