ASPNETZERO - Lookup modal - Как вернуть выбранные данные родительскому модальному

Я узнал из кода, используемого в представлениях единиц организации, для пользователя «lookup» modal и воссоздал его для моей компании «компания».

Обратите внимание, что я не создал новый режим просмотра для моего объекта. Я использую стандартный режим просмотра по умолчанию, представленный ABP.

На многих других объектах в моем приложении все они используют компанию, на моих моделях создания / редактирования. Поэтому, чтобы проверить это, я заменил выпадающий список для компании текстовым полем с иконкой поиска, которая всплывает в режиме поиска со всеми компаниями. Затем, как только пользователь выбирает строку из мода поиска компании, я хочу заполнить текстовое поле для создания модального значения с выбранным значением. Код JS, показанный ниже, делает все, что я хочу. Единственная часть, которую я, похоже, не могу понять, - это передать имя и значение «Выбранное» обратно в мою модальную форму.введите описание изображения здесь введите описание изображения здесь

     $(document).ready(function () {

      var _companyLookupModal = app.modals.LookupModal.create({
        title: app.localize("SelectACompany"),
        serviceMethod: abp.services.app.nursingOpsLookup.find_Companies
    });

  $("#btnTest").click(function (){
      _companyLookupModal.open({
          title: app.localize('SelectACompany')
      }, function (selectedItems) {
          //Below is not working, as I assume I am inside the lookup modal
          $("#CompanyId").val(selectedItems.value);
          $("#CompanyName").val(selectedItems.name);
      });
    });  



});

Вещи, которые я пробовал:

  • Использование шины событий abp и установка триггера.

  • Установка выбранных значений в файл cookie с использованием JS-кода ниже.

    localStorage.setItem('selCmpName', selectedItems.name); //Save
    var selCmpName = localStorage.getItem('selCmpName'); //fetch

Ни один из вышеперечисленных методов не работал. Может ли кто-нибудь сказать мне, как вернуть значения к моему модулю?

javascript,asp.net-mvc,aspnetboilerplate,

0

Ответов: 1


0

вам нужно вернуть что-то вроде этого, иначе selectedItemsбудет null.

public async Task<PagedResultDto<NameValueDto>> Find_Companies(FindCompaniesInput input)
{        
    //filter your companies by the input and return NameValueDto within PagedResultDto

    return 
        new PagedResultDto<NameValueDto>(
        companiesCount,
        companies.Select(x => new NameValueDto(x.Name, x.Id.ToString())).ToList());           
}

Ваш вход должен быть получен из PagedAndFilteredInputDto

public class FindCompaniesInput : PagedAndFilteredInputDto
{
    //your filters...      
}
JavaScript, asp.net-MVC, aspnetboilerplate,
Похожие вопросы