Javascript 为什么ainteger设置不能正常工作?

Javascript 为什么ainteger设置不能正常工作?,javascript,c#,jquery,html,signalr,Javascript,C#,Jquery,Html,Signalr,我有两个版本的代码。第一个版本不起作用,第二个版本起作用。为什么第一个版本的ainteger设置不能正常工作?假定在第二次寄存器按钮按下时,按钮上方显示“播放器1”和“播放器2”。我已经包括了下面的代码 更具体地说,当按下register按钮时,程序应该调用服务器的register函数。当整数值为1时,服务器使用服务器的setinteger()在html中设置该值。当客户端的ainteger为2时(第二次按下register键),事件处理程序将调用服务器的printthename()函数。这依次

我有两个版本的代码。第一个版本不起作用,第二个版本起作用。为什么第一个版本的ainteger设置不能正常工作?假定在第二次寄存器按钮按下时,按钮上方显示“播放器1”和“播放器2”。我已经包括了下面的代码

更具体地说,当按下register按钮时,程序应该调用服务器的register函数。当整数值为1时,服务器使用服务器的setinteger()在html中设置该值。当客户端的ainteger为2时(第二次按下register键),事件处理程序将调用服务器的printthename()函数。这依次调用客户端的printname()和printname2(),并显示名称。没有显示这些名称

  • 通过跟踪错误,当按钮被点击两次时,register button事件不会在register buttons事件处理程序中中断,并且ainteger的块似乎没有调用printthename()。但是,当服务器的整数值为1时,它确实会显示在服务器的register函数中
该程序在Visual Studio 2019中使用信号器和两个资源管理器选项卡

我尝试过修改代码,精简代码,简化代码,并进行跟踪。从setinteger()调用的printthename()是一个有效的版本

GitHub链接是:

分支3:新版本,作品

分支4:旧版本,不工作(不显示名称。)

VisualStudio版本有注释解释说这不会导致任何问题

/////////////////////////////////////枢纽://///////////////////////////////////


    public class ChatHub : Hub
    {


        private static readonly List<clients> ClientList = new List<clients>();

        public  void printthename()
        {
            string name = "";
            if (whoseturn == 0)
            {


                name = "Player one ";
                Clients.Client(ClientList[0].ConnectionId).printname(name);
                name = "Player two ";
                Clients.Client(ClientList[1].ConnectionId).printname2(name);
            }

        }
        public void register(string name1)
        {

            clients A_Client = new clients();

            A_Client.ConnectionId = Context.ConnectionId;
            A_Client.Name = name1;
            ClientList.Add(A_Client);

            if (integer == 0)
            {

                integer = integer + 1;
            }
            else if (integer == 1)
            {
               Clients.Client(ClientList[1].ConnectionId).setinteger();
               Clients.Client(ClientList[0].ConnectionId).setinteger();
            }

        }
}
$(function () {

        var ainteger = "0";

            $("#Join").click(function () {
            $('#Join').hide();
            $('#Name').hide();

            chat.server.register("a");

            if (ainteger == "1") {

                chat.server.printthename();
            }

        });


        chat.client.setinteger =   function () {

            ainteger = "1";

        };




    });



谢谢,我从11月30日起就一直在努力解决这个问题。

这个问题可能会结束。没有关于什么不起作用的细节,并且有很多代码。你需要缩小不起作用的确切范围,并提供导致问题的最小代码。我正在为Erik修复它,现在!那么,这个改革后的职位在合适的地方吗?这个问题可能会被关闭。没有关于什么不起作用的细节,并且有很多代码。你需要缩小不起作用的确切范围,并提供导致问题的最小代码。我正在为Erik修复它,现在!那么,这个改革后的职位在合适的地方吗?