C# 如果信号器聊天中未输入用户名,如何显示默认用户名

C# 如果信号器聊天中未输入用户名,如何显示默认用户名,c#,asp.net,signalr,C#,Asp.net,Signalr,使用站点code.msdn.microsoft.com/signar-Getting-Started-b9d18aa9上的signar Getting start应用程序,当用户单击OK而不输入用户名时,如何将默认显示从大圆点更改为“匿名” 我是javascript新手。我在代码中搜索了用户名引用和点,但没有结果。例如,在行(大约#40)下方的default.html文件中: $('#displayname').val(提示('enteryourname:','') 我补充说: if ($('#

使用站点code.msdn.microsoft.com/signar-Getting-Started-b9d18aa9上的signar Getting start应用程序,当用户单击OK而不输入用户名时,如何将默认显示从大圆点更改为“匿名”

我是javascript新手。我在代码中搜索了用户名引用和点,但没有结果。例如,在行(大约#40)下方的default.html文件中:

$('#displayname').val(提示('enteryourname:','')

我补充说:

if ($('#displayname').val() != '' || $('#displayname').val() == null)
        {
            $('#displayname').val(prompt('Enter your name:', ''))
        }

        else if ($('#displayname').val() == null || $('#displayname').val() == '') {
            $('#displayname') = "Anonymous";
        }

然而,这并不能完成任务。圆点仍然显示。有谁能告诉我如何更改显示“匿名”吗?谢谢。

我还没有读过您的示例,但是如果通过服务器端方法
name
创建
用户名
。然后,您将需要执行以下操作:

public void Send(string name, string message)
{
     Clients.All.broadcastMessage(name, message);
}
然后,在调用
Send
时,应尝试以下操作

public void Send(string name, string message)
{
     var user = name;
     if(string.IsNullOrEmpty(user))
          user = "Anonymous";

     Clients.All.broadcastMessage(user, message);
}
这在理论上可以解决您的问题,因为JavaScript不能解决您的问题

chat.client.broadcastMessage = function (name, message) {
        var encodedName = $('<div />').text(name).html();
        var encodedMsg = $('<div />').text(message).html();

        $('#discussion').append('<li><strong>' + encodedName
            + '</strong>:&nbsp;&nbsp;' + encodedMsg + '</li>');
    }; 
然而,我相信客户方面的以下内容将是您问题的根源

chat.client.broadcastMessage = function (name, message) {
        var encodedName = $('<div />').text(name).html();
        var encodedMsg = $('<div />').text(message).html();

        $('#discussion').append('<li><strong>' + encodedName
            + '</strong>:&nbsp;&nbsp;' + encodedMsg + '</li>');
    }; 
chat.client.broadcastMessage=函数(名称、消息){
var encodedName=$('').text(name).html();
var encodedMsg=$('').text(message.html();
$(“#讨论”)。追加(“
  • ”+encodedName +“:”+encodedMsg+”
  • ); };

    在里面,您可以更正无效的
    用户名
    。希望这能解决问题或为你指明正确的方向。如果没有更多与您的通话地点相关的信息,我将不会有多大帮助。

    Oops!想对格雷格发表评论!谢谢你深思熟虑地回答了我这个有点困惑的问题,@Greg。后来我意识到,我提到的“点”实际上与任何人的聊天评论一起显示在有问题的应用程序上,无论他们是否添加了用户名。我发现我需要通过在应用程序的ChatHub.cs文件中添加if语句,将用户名设置为显示为“匿名”。再次感谢你们的努力。这是我最后的回答:谢谢你们对我这个令人困惑的问题的深思熟虑的回答,@Greg。后来我意识到,我提到的“点”实际上与任何人的聊天评论一起显示在有问题的应用程序上,无论他们是否添加了用户名。我将您的if语句建议放入ChatHub.cs类,它可以显示“匿名”用户名。再次感谢你!