在站点code.msdn.microsoft.com/SignalR-Getting-Started-b9d18aa9上使用SignalR入门应用程序,如何将默认显示从大点更改为" Anonymous"当用户点击没有而没有输入用户名?
我是javascript的新手。我在代码中搜索了用户名参考和点无效。例如,在该行下面的default.html文件中(约为#40):
$('#displayname').val(prompt('Enter your name:', ''))
我补充说:
if ($('#displayname').val() != '' || $('#displayname').val() == null)
{
$('#displayname').val(prompt('Enter your name:', ''))
}
else if ($('#displayname').val() == null || $('#displayname').val() == '') {
$('#displayname') = "Anonymous";
}
然而,这并没有完成工作。点仍然显示。任何人都可以请给我一些指示如何进行此更改以显示" Anonymous"?谢谢。
答案 0 :(得分:0)
我没有阅读您的示例,但是如果UserName
是通过服务器端方法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>: ' + encodedMsg + '</li>');
};
在那里,您可以更正无效的username
。希望能够解决或指向正确的方向。如果没有与您的召唤相关的更多信息,我将不会提供太多帮助。