SignalR SqlDepedensy совместно вызов модельного окна

У меня специфическая проблема. Не знаю правильно ли я делаю. Может есть варианты с лучше и правильнее. Но суть проблемы такая.. У Меня есть проект ASP.Net MVC5 где реализовано подключение к SQL Server и настроен SignalR На представление Index.chhtml

<table class="table align-middle mb-0 bg-white">
   <thead class="bg-light">
      <tr>
        <th>ФИО</th>
        <th>Должность</th>
        <th>Мобильный</th>
        <th>Городской</th>
        <th>Внутренний</th>
     </tr>
   </thead>
<tbody id="messagesTable">
</tbody>

Через ajax получаю данные и создаю таблицу

function getAllMessages() {

var tbl = $('#messagesTable');
$.ajax({
    url: '/Dashboard/GetMessages',
    contentType: 'application/html ; charset:utf-8',
    type: 'GET',
    dataType: 'html',
    success: function (result) {
        var a2 = JSON.parse(result);
        tbl.empty();
        console.log(a2);
        var data = {};
        console.log(data);
        var Departments = [];
        $.each(a2, function () {
            if (typeof data[this.Department] == "undefined") {
                data[this.Department] = [];
            }
            data[this.Department].push(this);
            if (Departments.indexOf(this.Department) == -1) {
                Departments.push(this.Department);
            }
        });
        Departments = Departments.sort();
        $.each(Departments, function () {
            tbl.append(
                $("<tr>").append(
                    $('<th>', { 'class': "table-success"}).attr("colspan", "5")
                        .html(this)
                )
            );
            data[this] = data[this].sort(function (a, b) {
                return a.Title > b.Title;
            });
            $.each(data[this], function () {
                tbl.append(
                    $("<tr>").append(
                        $("<td>").append(
                            $('<div>', { 'class': "d-flex align-items-center" }).append(
                                $('<img>', { 'class': "rounded-circle", 'src': "/assets/images/users/avatar-10.png", 'style': "width: 45px; height: 45px", 'alt':"" }),
                                    $('<div>', { 'class': "ms-3>" }).append(
                                        $('<a>', {'class': "fw-bold mb-1" }).html(this.DisplayName).append(
                                            $('<p>', { 'class': "text-muted mb-0>" }).html(this.EmailAddress).append(
                                                $('<a>', {'style': "display: none", 'class': "text-muted mb-0>" }).html(this.ObjectGUID)
                                            )
                                        ) 
                                    )
                            )
                        ),
                        $("<td>").append(
                            $('<p>', { 'class': "fw-normal mb-1>" }).html(this.Title)
                        ),
                        $("<td>").append(
                            $('<p>', { 'class': "fw-normal mb-1>" }).html(this.MobilePhone)
                        ),
                        $("<td>").append(
                            $('<p>', { 'class': "fw-normal mb-1>" }).html(this.Fax)
                        ),
                        $("<td>").append(
                            $('<p>', { 'class': "fw-normal mb-1>" }).html(this.OfficePhone)
                        )
                    )
                );
            });
        });
    }
})

}

Контроллер возвращает JsonResult

public JsonResult GetMessages()
    {
        List<ADPersons> messages = new List<ADPersons>();
        Repository r = new Repository();
        messages = r.GetAllMessages();
        return Json(messages, JsonRequestBehavior.AllowGet);
    }

Все прогружается без проблем. Но Я хочу сделать чтоб при нажатии на ФИО можно было открыть модельное окно с подробностями. Пытался добавить следующее: Controller:

public ActionResult Details(Guid id)
    {
        var supplier = AD_DWEntities.ADusers.FirstOrDefault(O => O.ObjectGUID == id);
        if (supplier == null)
            return HttpNotFound();
        return PartialView("Details", supplier);

} Изменить строчку на

$('<a>', { 'data-modal': "", 'href': "/Dashboard/Details/" + this.ObjectGUID, 'id': this.ObjectGUID, 'class': "fw-bold mb-1" }).html(this.DisplayName)

И обработчик

$(function () {
$.ajaxSetup({ cache: false });
$(".data-modal").click(function (e) {

    e.preventDefault();
    $.get(this.href, function (data) {
        $('#dialogContent').html(data);
        $('#modDialog').modal('show');
    });
});

})

Но ни чего не происходит. Но про прохождение по ссылке Details данные там есть!


Ответы (0 шт):