SignalR实时更新TextArea

时间:2015-05-19 13:22:35

标签: html asp.net signalr real-time

您好我刚开始学习SignalR v2。我的aspx页面中有一个textarea,我想在用户按下键时实时更新它。

问题:我在浏览器中打开了2个标签。 如果我输入第一个字符示例“a”,则不会发生任何事情: Tab1 textarea:“a” tab2 textarea:没什么

然后我继续键入第二个字符“b” Tab1 textarea:“ab” tab2 textarea:“a”

结论:它始终没有更新我输入的最新字符!

SignalR Class

 public class DocHub : Hub
    {
       public void Update(String text)
       {
           this.Clients.Others.updateText(text);
       }
    }

的Index.aspx

<body>
    <form id="form1" runat="server">
    <div style="font-size:50px;"> New Document</div>
    <textarea rows="4" cols="50" id="ta"></textarea>

    <script src="Scripts/jquery-1.10.2.js"></script>
    <script src="Scripts/jquery.signalR-2.1.2.js"></script>
    <script src="signalr/hubs"></script>

    <script type="text/javascript">
        $(function () {
            var hubProxy = $.connection.docHub;
            hubProxy.client.updateText = function (msg) {
                $("#ta").val(msg);
            };
            $("#ta").keydown(function () {
                hubProxy.server.update($("#ta").val());
            });

            $.connection.hub.start();

        });
    </script>
    </form>
</body>

1 个答案:

答案 0 :(得分:2)

我真的会尝试使用keyup