Call signalr hub from a modal window

0

I'm trying from a modal window to call the hub but it does not reach the hub, without giving any error

Here the code:

-Function hub:

public void Estado(int estado, int id)
{
        RepositorioVisitas.AutorizarCancelarVisita(id,estado);
visitasMostradas.RemoveAll(d => d.IdVisita == id);

}

-Javascript:

<script>
        var visita;
        $(function () {

        // Reference the auto-generated proxy for the hub.
         visita = $.connection.visitasHub;
        $('#nuevaFilaVisitas >tr').remove();
        //alert($('#nuevaFilaVisitas >tr').length);
        // Create a function that the hub can call back to display messages.
        visita.client.SendAlert = function (id, fechaI, fechaF, anfitrion, visitante, obse) {
            var nuevaFila = "<tr id='" + id + "'>"
            nuevaFila += "<td id='inicio'>" + fechaI + "</td>";
            nuevaFila += "<td id='fin'>" + fechaF + "</td>";
            nuevaFila += "<td id='anfitrion'>" + anfitrion + "</td>";
            nuevaFila += "<td id='visitantes'>" + visitante + "</td>";
            nuevaFila += "<td id='observaciones'>" + obse + "</td>";
            nuevaFila += "<td class='align-center'><ul class='table-controls'><li><a href='javascript:void(0)' id='opcionAceptar' class='bs-tooltip' data-original-title='Autorizar'><i class='icon-ok' style='color:green'></i></a></li></ul></td>";
            nuevaFila += "<td class='align-center'><ul class='table-controls'><li><a href='#' id='opcionCancelar' class='bs-tooltip' data-original-title='Cancelar'><i class='icon-remove' style='color:red'></i></a></li></ul></td></tr>";
            $('#nuevaFilaVisitas').append(nuevaFila);
            $('#modalVisitas').modal();
            $.playSound('/Hubs/Notification');

        };

        visita.client.reset = function () {
            $('#nuevaFilaVisitas >tr').remove();
            $("#modalVisitas").modal('hide');
            $.playSound('/Hubs/Notification');
        }



        $.connection.hub.start().done(function () {visita.server.grupo($("#deptGrupo").val());});


        **$("#modalVisitas").on("click", "#opcionCancelar", function () {

            var idVisita = $("#opcionCancelar").closest("tr").attr("id");
            visita.server.estado(3, idVisita);
            $(this).closest('tr').remove();
            var numFilas = $('#nuevaFilaVisitas >tr').length;
            if (numFilas == 0) { $("#modalVisitas").modal('hide'); }
        })
        $("#modalVisitas").on("click", "#opcionAceptar", function () {
            var idVisita = $("#opcionCancelar").closest("tr").attr("id");
            visita.server.estado(3, idVisita);
            $(this).closest('tr').remove();
            var numFilas = $('#nuevaFilaVisitas >tr').length;
            if (numFilas == 0) { $("#modalVisitas").modal('hide'); }
        })**


        });



</script>

The last part is where it fails

$("#modalVisitas").on("click", "#opcionCancelar", function () {

            var idVisita = $("#opcionCancelar").closest("tr").attr("id");
            visita.server.estado(3, idVisita);
            $(this).closest('tr').remove();
            var numFilas = $('#nuevaFilaVisitas >tr').length;
            if (numFilas == 0) { $("#modalVisitas").modal('hide'); }
        })

Any help is appreciated

    
asked by Borja Calvo 08.08.2016 в 16:51
source

1 answer

1

In the end what I did was from the view go to a controller and from the controller to call the hub and so it goes perfect

    
answered by 10.08.2016 / 09:51
source