Javascript 如何在ASP.NET控制器中发送客户端值?

Javascript 如何在ASP.NET控制器中发送客户端值?,javascript,c#,jquery,signalr,Javascript,C#,Jquery,Signalr,我用c#,javascript编写了一段代码,使用客户端库信号器刷新数据库值更改中的页面。我的代码是 <form asp-action="Start" method="post" class="form-stacked"> <button type="submit" id="startPractice" class="button-primary"&g

我用c#,javascript编写了一段代码,使用客户端库信号器刷新数据库值更改中的页面。我的代码是

<form asp-action="Start" method="post" class="form-stacked">
    <button type="submit" id="startPractice" class="button-primary">Start Practice</button>
</form>

<script src="~/js/ignalr/dist/browser/signalr.js"></script>
<script src="~/js/chat.js"></script>

chat.js的代码

"use strict";

var connection = new signalR.HubConnectionBuilder().withUrl("/SignalRClient").build();

connection.on("ReceiveMessage", function (user, message) {
    location.reload();
});

当我点击“开始练习”按钮时,它会点击SendMessage方法,但我得到了一个错误

object reference not set to an instance

因为客户端的值为null。如何解决此问题?

您无法手动创建新的中心。为了从集线器外部发送到客户端,您需要使用
IHubContext
。有关详细信息,请参阅文档

您的客户端可能为空:wait Clients.All.sendsync(“ReceiveMessage”,user,message);哪一行导致nullreference错误?@devilsmader at wait Clients.All.SendAsync(“ReceiveMessage”,user,message);这一行我得到一个错误客户端值现在不是空的,谢谢。现在在SignalRClientHub类中,我编写了一段代码,以便它调用``connection.on(“ReceiveMessage”,function(user,message){location.reload();});```上面的chat.js方法,我希望重新加载location,但是我无法转到chat.js的方法,我尝试了console.log而不是location.reload,但是Hub没有调用该方法。你能帮我找到chat.js的方法吗?你启动客户端了吗?在你粘贴的代码中,你还没有启动客户端。我如何启动客户端?你真的应该阅读文档。非常感谢我没有丢失连接。开始工作吧。我还有一个问题,如果你能帮忙的话,那就太好了。每个页面都可以重新加载,但我不想重新加载调用API的选项卡,我该怎么做?
"use strict";

var connection = new signalR.HubConnectionBuilder().withUrl("/SignalRClient").build();

connection.on("ReceiveMessage", function (user, message) {
    location.reload();
});

object reference not set to an instance