-1

リリースモードでこれを実行しようとしても何も起こりませんが、デバッグモードではすべて正常に動作します-なぜですか?

ボタンを追加し、このボタンをクリックしてデータを出力すると、リスト行の内部リンクも正常に機能します(http://clip2net.com/s/2AG04)。$(document).ready(function(){これが機能したくないイベント...

クライアントで私は持っています:

$(document).ready(function () {
    $.ajax({
        url: '@Url.Action("Index", "Product")',
        cache: false,
        type: 'GET',
        dataType: 'json',
        proccessData: false,
        contentType: 'application/json; charset=utf-8'
    });

サーバー上で私はこれを持っています:

public ActionResult Index()
    {
        if (Request.IsAjaxRequest())
        {
            //Отправляем на клиент данные 
            _senderHub.SendMessage();
            return null;
        }
        return View();
    }

サーバー上でも:(SignalR)

readonly ManagerDB _managerDB = new ManagerDB();
    public void SendMessage()
    {
        IEnumerable<ProductModels> list = _managerDB.GetListOfProduct1();
        var listToClient = new List<ProductModels>();
        foreach (var prod in list)
        {
            listToClient.Add(new ProductModels
                                 {
                                     Id = prod.Id,
                                     Name = prod.Name,
                                     LockType = prod.LockType,
                                     LockTime = prod.LockTime,
                                     LockUser = prod.LockUser,
                                     TimeStampF = prod.TimeStampF
                                 });
        }
        var anonimProduct = listToClient;
        IHubContext context = GlobalHost.ConnectionManager.GetHubContext<SenderHub>();
        context.Clients.AddListRows(anonimProduct);
    }

クライアント(SignalR)でこのデータをキャッチしようとしています:

$(function () {
    var senderHub = $.connection.senderHub;
    senderHub.AddListRows = function (data) {
        var dataFromServer = data;
        var listOfData = "";
        for (var i = 0; i < dataFromServer.length; i++) {
            $("#ListOfProductsTableBody").html(null);
            var userId = '';
            if (dataFromServer[i].LockUser != null) {
                userId = dataFromServer[i].LockUser;
            }
            listOfData += ("<tr><td>" + dataFromServer[i].Id + "</td><td>" + dataFromServer[i].Name + "</td><td>" + userId + "</td><td>" + dataFromServer[i].LockType + "</td>" + "<td id=\"ModifyBlock\"><a id=\"Detail\" href=\"#\" alt=" + dataFromServer[i].Id + " >Детально</a>|<a id=\"Delete\" href=\"#\" alt=" + dataFromServer[i].Id + " >Удалить</a>|<a id=\"Edit\" href=\"#\" class=\"" + dataFromServer[i].LockTime + "\" alt=" + dataFromServer[i].Id + " >Редактировать</a></td></td></tr>");
        }
        $("#ListOfProductsTableBody").append(listOfData);
    };
    $.connection.hub.start();
});

強調されたテキスト

4

1 に答える 1

1

私の質問に対するDavidFowlerの回答を参照してください。同じ問題があるようです。

ASP.NETMVC4のSignalRで通過しないサーバーからクライアントへのメッセージ

于 2012-12-10T21:31:29.370 に答える