2016-09-22 6 views
2

フォームコントロールで選択をしようとしています。Mapster Adpatが動作しない

<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は要素 `sを取得していません。これは私のコントローラです。

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を渡した後、要素がnullになります。これが私のマッピングです。

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

私はどのように仕事をするべきですか?起動時のスタートアップ場所で

+1

あなたは、起動時に起動TypeAdaptConfigを参照? – Danilo

+0

どのように私はそれを追加する? –

答えて

1

次のコード:

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