在剃刀文件中,我注入@inject IJSRuntime JSRuntime. 在后面的代码中,我使用以下代码调用 JS 函数:
private async Task DownloadPdf(bool foo)
{
await using var module = await JSRuntime.InvokeAsync<IJSObjectReference>("import", "./create-pdf.js");
await module.InvokeVoidAsync("generatePdf", foo);
}
Run Code Online (Sandbox Code Playgroud)
这工作得很好,但现在我需要从 C# 代码调用 JS 函数,该函数不是代码隐藏,而是一个单独的 *.cs 文件:
public static class Bar
{
public static double Baz()
{
// do something
// call JS function
return baz;
}
}
Run Code Online (Sandbox Code Playgroud)
我尝试过这种方法但JSRuntime始终如此null。如何从静态 C# 方法调用 JS?
这是一个具有短过渡的折叠元素的简单示例。(前两个蓝色按钮。)
这是我的 HTML
<p>
<a class="btn btn-primary" @onclick="ToggleDropdown" data-toggle="collapse" href="#collapseExample" role="button" aria-expanded="false" aria-controls="collapseExample">
Link with href
</a>
</p>
<div class="collapse @DropdownCssClass" id="collapseExample">
<div class="card card-body">
Anim pariatur cliche...
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
这是代码
@code {
private bool isDropdownVisible = true;
private string DropdownCssClass => isDropdownVisible ? "collapsing" : "show";
private void ToggleDropdown()
{
isDropdownVisible = !isDropdownVisible;
}
}
Run Code Online (Sandbox Code Playgroud)
div 折叠但没有过渡。如何应用过渡?
谢谢