2

我正在尝试在表单控件中进行选择。

<div class="form-row form-row-wide">
     <div class="col-sm-3">
             <select asp-for="EstadoId" class="form-control input-text" required="required" placeholder="Estado"></select>
             <span asp-validation-for="EstadoId" class="text-danger"></span>
     </div>
     <div class="col-sm-9">
             <select asp-for="CidadeId" class="form-control input-text" required></select>
             <span asp-validation-for="CidadeId" class="text-danger"></span>
     </div>
</div>

但是我的 Adapt 没有得到元素。这是我的控制器。

public async Task<JsonResult> Get(Select2Request param)
        {
            try
            {
                var pagedResults = await _service.GetAllByPageAsync(w => w.Nome.Like(param.q), 20, param.page);
                var result = pagedResults.Data.Adapt<List<StateViewModel>>().Adapt<List<Select2Response>>();

                return Json(result);
            }
            catch (Exception e)
            {
                return new JsonResult(BadRequest(e));
            }
        }

问题是,在通过 Adpat 之后,元素 r 为空。这是我的映射。

public class StateMapping : IRegister
{
    public void Register(TypeAdapterConfig config)
    {
        config.NewConfig<StateViewModel, Select2Response>()
            .Map(p => p.id, s => s.EstadoId)
            .Map(p => p.text, s => s.Nome);
    }
}

我该怎么做才能上班?

4

1 回答 1

2

在启动启动时放置以下代码:

using Mapster; //Reference your package


namespace YourApplication
{
    public class Startup
    {
        public Startup(IHostingEnvironment env)
        {
           //His previous codes ...

           //Place this code
            TypeAdapterConfig.GlobalSettings.Scan(Assembly.GetEntryAssembly());
        }
    }
}
于 2016-09-22T18:13:58.990 回答