Отображение данных нескольких таблиц в представлении ASP.NET

У меня есть две таблицы, которые связаны по ID. Одна таблица предназначена для специализированного поставщика медицинских услуг, вторая - это список поставщиков медицинских услуг. Я хочу отображать SpecialityName в представлении

Отображение данных нескольких таблиц в представлении ASP.NET

Отображение данных нескольких таблиц в представлении ASP.NET

Отображение данных нескольких таблиц в представлении ASP.NET

Пока я создаю контроллер

[HttpGet]
        public virtual JsonResult MedicalInput(int id)
        {

            var medProvidersInput = db.Contacts.Where(s => s.Id == id && s.ContactCategory.Name == "Facility").Select(a => new
            {
                Id = a.Id,
                Firstname = a.Firstname,
                Address1 = a.Address1,
                TypeId = a.TypeId,
                City = a.City,
                State = a.State,
                Zip = a.Zip,
                Mobile = a.Mobile,

            });

            //ViewData["medProvidersInput"] = medProvidersInput;
            return Json(medProvidersInput, JsonRequestBehavior.AllowGet);
        }

Вторая часть кода, который я создаю в скрипте для извлечения этих элементов для просмотра и отображения в TextView (Рисунок 3)

$(document).on('click', '.sortList', function () {

        var selectLat = $(this).closest("tr").attr('data-lat');
        var selectLong = $(this).closest("tr").attr('data-long');



        $('.sortList').each(function () {
            $(this).closest("tr").removeClass('success');
        });


        $(this).closest("tr").addClass('success');


        var id = $(this).attr('data-id');
        $.getJSON("/NfDocuments/MedicalInput", { id: id },
           function (data) {

              $('#medInput').empty();

               $.each(data, function () {
                   // $("#medInput").append("'" + this.Id + "'");
                   //console.info(this.Id);
                   var medInput = document.getElementById("medInput");
                   medInput.value = this.Firstname + ' - '
                                  + this.Zip + ' '
                                  + this.Address1 + ','
                                  //+ this.TypeId + ','
                                  + this.City + ','
                                  + this.State + ' - '
                                  + this.Mobile;
               });

           });

Итак, я хочу выбрать имя из таблицы и отобразить в TextView после поля адреса. Итак, мой вопрос: можно ли преобразовать идентификатор в строку, чтобы я мог получить название специальности в текстовом представлении? Спасибо

это настоящие номера телефонов и адреса, которые вы разместили здесь в общедоступном Интернете? Это действительно было необходимо для ответа на ваш вопрос? Возможно, эти компании в любом случае обнародуют часть этой информации, но я предполагаю, что номера мобильных телефонов не указаны, возможно

ADyson 26.06.2018 11:36

В любом случае ... «Я хочу отобразить SpecialityName в представлении» ... в какой это таблице базы данных? Если есть связь между этой таблицей и таблицей контактов, поскольку вы используете EF, вы должны просто иметь возможность включить это поле в свой вызов .Select (), например. Mobile = a.Mobile, SpecialtyName = a.SomeTable.Name или что-то еще. Затем он будет в вашем JSON, а затем вы сможете его отобразить

ADyson 26.06.2018 11:38

Конечно, номера телефонов ненастоящие, это подделка. Я просто беру его, чтобы протестировать приложение

user9734038 26.06.2018 11:42

Хорошо, просто проверяю! Иногда люди забывают. Они смотрю достаточно настоящие, вот и все.

ADyson 26.06.2018 11:44

Да, эти две таблицы соответствуют действительности, как вы можете видеть на картинке. Я использую TypeID из таблицы ContactType.

user9734038 26.06.2018 11:45

@ADyson Когда я набираю SpecialtyName = a.SomeTable.Name, он отображает таблицу и поле, поэтому мне просто нужно отобразить его в представлении

user9734038 26.06.2018 11:46

Позвольте нам продолжить обсуждение в чате.

user9734038 26.06.2018 11:49

Спасибо @ADyson :) Работает

user9734038 26.06.2018 11:52
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
8
131
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Поскольку вы используете Entity Framework и между вашими таблицами уже существует связь, tou может очень легко включить поле в ваш оператор .Select ():

var medProvidersInput = db.Contacts.Where(s => s.Id == id && s.ContactCategory.Name == "Facility").Select(a => new
            {
                Id = a.Id,
                Firstname = a.Firstname,
                Address1 = a.Address1,
                TypeId = a.TypeId,
                City = a.City,
                State = a.State,
                Zip = a.Zip,
                Mobile = a.Mobile,
                SpecialtyName = a.ContactType.Name //make a field called SpecialtyName using the contact type name field
            });

Затем он будет автоматически включен в ваш JSON, и в вашем коде JavaScript вы можете использовать его и отображать, как вам нужно.

Спасибо @ADyson

user9734038 26.06.2018 11:59

Другие вопросы по теме