为什么我的 Blazor @onclick MouseEventArg 不工作?
Why is my Blazor @onclick MouseEventArg not working?
我的 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>
来自 _Host.cshtml
页面。当我把它放回行尾时:
<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
将阻止您的任何其他 JavaScript 工作,无论它是否在阵容中排在第一位或最后一位。为了让您的 JavaScript 或 Blazor、jQuery 等正常工作,您需要遵循 THIS Whosebug 的回答。
希望对您有所帮助。
我的 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>
来自 _Host.cshtml
页面。当我把它放回行尾时:
<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
将阻止您的任何其他 JavaScript 工作,无论它是否在阵容中排在第一位或最后一位。为了让您的 JavaScript 或 Blazor、jQuery 等正常工作,您需要遵循 THIS Whosebug 的回答。
希望对您有所帮助。