Javascript ASPNETZERO-查找模式-如何将所选数据返回到父模式

Javascript ASPNETZERO-查找模式-如何将所选数据返回到父模式,javascript,asp.net-mvc,aspnetboilerplate,Javascript,Asp.net Mvc,Aspnetboilerplate,我从用户“lookup”模式的organization units视图中使用的代码中学习,并为我的实体“company”重新创建了它 请注意,我没有为我的实体创建新的查找模式视图。我使用的是ABP提供的标准默认查找模式视图 在我的应用程序中的许多其他实体上,它们都在我的创建/编辑模式中使用公司。为了验证这一点,我用一个带有搜索图标的文本框替换了公司的下拉列表,该文本框弹出所有公司的查找模式。 然后,一旦用户从company lookup模式中选择一行,我想用所选的值填充create模式上的文本框

我从用户“lookup”模式的organization units视图中使用的代码中学习,并为我的实体“company”重新创建了它

请注意,我没有为我的实体创建新的查找模式视图。我使用的是ABP提供的标准默认查找模式视图

在我的应用程序中的许多其他实体上,它们都在我的创建/编辑模式中使用公司。为了验证这一点,我用一个带有搜索图标的文本框替换了公司的下拉列表,该文本框弹出所有公司的查找模式。 然后,一旦用户从company lookup模式中选择一行,我想用所选的值填充create模式上的文本框。下面显示的JS代码正在做我想要的一切。我似乎无法理解的唯一部分是如何将“选定”名称和值传递回我的createmodal表单

     $(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事件总线并设置触发器

  • 使用下面的JS代码将所选值设置到cookie中

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

上述两种方法都不起作用。有人能告诉我如何将值返回到我的创建模式吗?

您需要返回类似的内容,否则
selectedItems
将为空

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());           
}

请确保在关闭模式之前设置了结果:

app.modals.SomeModal = function () {
    var _modalManager;

    this.init = function (modalManager) {
        _modalManager = modalManager;
    };

    this.save = function () {
        _modalManager.setResult('hello world');
        _modalManager.close();
    };
}
设置结果将触发回调函数,在本例中,将打印“hello world”

SomeModal.open(
    {},
    function (callback) {
        console.log(callback);
    }
);

selectedItems不为空。这不是问题所在。问题在于将值保存到我的创建模式中,该模式正在启动查找模式。
SomeModal.open(
    {},
    function (callback) {
        console.log(callback);
    }
);