2016-04-25 60 views
0

我有一個SignalR應用程序,我想隨時創建組。 例如,我有2個文本框。一個是組名,另一個是消息。 如果用戶輸入GroupA作爲組名並僅發送GroupA中的消息,則應該看到此消息。將多個組添加到SignalR ASP.NET

我HUB

public class SignalrServer : Hub 
    { 
     public class Chat : Hub 
     { 
      public void Send(string message) 
      {   
       //Clients.All.addMessage(message); 
       Clients.Group("get group name").addMessage("Group " + message); 
      } 

      public void Join(string groupName) 
      { 
       Groups.Add(Context.ConnectionId, groupName); 
      } 

     } 
    } 

aspx文件

<script type="text/javascript"> 
    $(function() { 
     // Proxy created on the fly   
     var chat = $.connection.chat; 

     // Declare a function on the chat hub so the server can invoke it   
     chat.client.addMessage = function (message) { 
      $('#messages').append('<li>' + message + '</li>'); 
     }; 

     $.connection.hub.start(function() { 
      var group = $('#group').val(); 

      //chat.server.join("RoomA"); 
      chat.server.join(group); 
     }); 

     // Start the connection 
     $.connection.hub.start().done(function() { 

      $("#broadcast").click(function() { 
       // Call the chat method on the server 
       chat.server.send($('#msg').val()); 
      }); 
     }); 
    }); 
</script> 

    <div> 

<input type="text" id="group" /> 
<input type="text" id="msg" /> 
<input type="button" id="broadcast" value="broadcast" /> 

<ul id="messages"> 
</ul> 

我怎樣才能讓這個工作?

回答

0
public void Send(string group, string message) 
{   
    //Clients.All.addMessage(message); 
    Clients.Group(group).addMessage("Group " + message); 
} 


var group = $('#group').val(); 
chat.server.send(group , $('#msg').val()); 
+0

不工作...當我點擊廣播沒有任何反應。 – Barlet