我的Blazor(.NET 5(项目中有一个简单的.RAZOR组件,看起来像这样:
<div>
<input id="searchInput" type="text" name="queryString" @bind="queryString" />
<button type="button" @onclick="PerformSearch">Search</button>
</div>
@code {
public String queryString;
public void PerformSearch()
{
Console.WriteLine("Why aren't you working? - " + queryString);
}
}
但是,当我单击该按钮时,根本不会调用PerformSearch
。我的代码中没有错误(编译时或运行时(。当我在Console.Writeline()
行放置一个断点时,它根本不会到达那里,并且日志中没有任何内容告诉我为什么会发生(或没有发生(。
所以,我发现了问题所在。我删除了这行:
<script src="_framework/blazor.server.js"></script>
从CCD_ 3页面。当我把它放回行的末尾时:
<script src="~/js/jquery/jquery-3.5.1.slim.min.js"></script>
<script src="~/js/popper/popper.min.js"></script>
<script src="~/js/bootstrap/bootstrap.min.js"></script>
<script src="~/js/JavaScript.js"></script>
<script src="_framework/blazor.server.js"></script>
</body>
</html>
一切又开始运转了。
事实上,这就是破坏我的页面的原因,这令人愤怒,因为微软对Blazor的最大卖点之一是它不需要JavaScript。
我猜不会。
编辑:要标记我的这个答案,blazor.server.js
将阻止任何其他JavaScripts工作,无论它在列表中是第一个还是最后一个。为了让您的JavaScript或Blazor、jQuery等正常工作,您需要遵循THISStackOverflow的答案。
我希望这能有所帮助。