Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 2010 MVC 3-信号机移动外形示例_Visual Studio 2010_Asp.net Mvc 3_Signalr - Fatal编程技术网

Visual studio 2010 MVC 3-信号机移动外形示例

Visual studio 2010 MVC 3-信号机移动外形示例,visual-studio-2010,asp.net-mvc-3,signalr,Visual Studio 2010,Asp.net Mvc 3,Signalr,我试图采用本文中的演示,它是用vS2012开发的,但是我使用的是vs2010。 我做了一个模型: [HubName("moveShapeHub")] public class MoveShapeHub : Hub { public void UpdateModel(ShapeModel clientModel) { clientModel.LastUpdatedBy = Context.ConnectionId;

我试图采用本文中的演示,它是用vS2012开发的,但是我使用的是vs2010。 我做了一个模型:

  [HubName("moveShapeHub")]
    public class MoveShapeHub : Hub
    {
        public void UpdateModel(ShapeModel clientModel)
        {
            clientModel.LastUpdatedBy = Context.ConnectionId;
            Clients.AllExcept(clientModel.LastUpdatedBy).updateShape(clientModel);
        }
    }
修改后的Global.cs:

  protected void Application_Start()
        {
            AreaRegistration.RegisterAllAreas();

            RegisterGlobalFilters(GlobalFilters.Filters);
            RegisterRoutes(RouteTable.Routes);
            RouteTable.Routes.MapHubs();
        }
他认为:

 var moveShapeHub = $.connection.moveShapeHub,
        $shape = $("#shape"),

            shapeModel = {
                left: 0,
                top: 0
            };

        moveShapeHub.client.updateShape = function (model) {
            shapeModel = model;
            $shape.css({ left: model.left, top: model.top });
        };

        $.connection.hub.start().done(function () {
            $shape.draggable({
                drag: function () {
                    shapeModel = $shape.offset();
                    moveShapeHub.server.updateModel(shapeModel);
                }
            });
我得到以下错误: 无法获取未定义或空引用的属性“client”


知道我做错了什么;非常感谢您的建议。

您是否已验证正在与服务器建立连接,如果没有,请添加
。失败(函数(){
警报(“连接失败”)}
到connection.hub.start方法的末尾,要查看它是否连接正常,请稍后尝试此方法:

moveShapeHub.on('updateShape', function(model) {
        shapeModel = model;
        $shape.css({ left: model.left, top: model.top });
    });

看起来您的HTML中没有包含以下代码:

<script src='/signalr/hubs'></script>
始终解析应用程序相对URL


还要确保调用
RouteTable.Routes.MapHubs()在映射任何其他路线之前。

谢谢,我收到了以下错误:信号器:加载集线器时出错。确保您的中心引用是正确的,例如,在执行JavaScript之前,按以下顺序添加对脚本的引用:jquery、signalr、signalr/hubs;我一定是做错了什么事!谢谢你,我做了更改,甚至把所有的js都移动到主视图,仍然会得到相同的错误。我希望有一个简单的VS2010 MVC3示例,我发现的大多数示例都是在VS2012中构建的。如果您在web浏览器中手动转到您的版本,是否会看到生成的javascript页面?我收到HTTP错误400-错误请求。啊,第一次错过了这个示例,您需要在映射任何其他路由之前执行RouteTable.Routes.MapHubs()。因此,将该行移到应用程序开始的顶部。
<script src="<%: ResolveUrl("~/signalr/hubs") %>"></script>