2015-11-29 72 views
0

你好我想signalr聊天这里是我的指数Signalr聊天记录用户名

<script> 
    $(function() { 
     var currentMember= @Html.Raw(@ViewBag.Name); 
     // Reference the auto-generated proxy for the hub. 
     var chat = $.connection.chatHub; 
     // Create a function that the hub can call back to display messages. 
     chat.client.addNewMessageToPage = function (name, message) { 
      // Add the message to the page. 
      $('#discussion').append('<li><strong>' + htmlEncode(name) 
       + '</strong>: ' + htmlEncode(message) + '</li>'); 
     }; 
     // Get the user name and store it to prepend to messages. 
     $('#displayname').val(prompt('Enter your name:', '')); 
     // Set initial focus to message input box. 
     $('#message').focus(); 
     // Start the connection. 
     $.connection.hub.start().done(function() { 
      $('#sendmessage').click(function() { 
       // Call the Send method on the hub. 
       chat.server.send($('#displayname').val(), $('#message').val()); 
       // Clear text box and reset focus for next comment. 
       $('#message').val('').focus(); 
      }); 
     }); 
    }); 
    // This optional function html-encodes messages for display in the page. 
    function htmlEncode(value) { 
     var encodedValue = $('<div />').text(value).html(); 
     return encodedValue; 
    } 
</script> 

,而不是这一行

$('#displayname').val(prompt('Enter your name:', '')); 

我尝试了这些

$('#displayname').val("@HttpContext.Current.User.Identity.Name"); 
$('#displayname').val(currentMember); 
的获得登录会员名

但这些没有奏效。那么我怎样才能获得我的登录成员名?

+0

您登录了吗? HttpContext.Current是否为空?发生什么事 ? – Shyju

+0

是的我登录但我不知道httpContext.current null或不,但我可以看到和错误说未捕获的ReferenceError:GearedSkull没有定义。 Gearedskull iste用户 – furkan

+0

我做了一个警报,我的ViewBag.name和“@ HttpContext.Current.User.Identity.Name”很好用,但是这个signalr不能得到名字 – furkan

回答

0

看看这条线

var currentMember= @Html.Raw(@ViewBag.Name); 

假设ViewBag.Name将返回字符串furkan。如果你检查页面的视图源,你会看到

var currentMember = furkan; 

Javascript会认为furkan是一个变量,但它不是!

解决方案:用双引号或单引号

var currentMember= '@Html.Raw(@ViewBag.Name)'; 

现在,环绕你的服务器代码,如果你查查看网页的源,这将是

var currentMember = 'furkan'; 

所以现在currentMember变量存储一个字符串值。稍后您可以在代码中使用它。

var currentMember= '@Html.Raw(@ViewBag.Name)'; 
alert(currentMember); 
$('#displayname').val(currentMember); 
+1

你是男人! – furkan

+0

你也可以告诉我如何创建一个按钮点击的房间,所以我想要这样的东西。我会看到用户,然后当我点击一个,我会给他发送一个网址,就像chat/Index/room1一样,只是发现了ppl或者谁都知道这个网址能够加入。尝试一对一或多对多的聊天邀请 – furkan