我正在尝试在表单控件中进行选择。
<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 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);
}
}
我该怎样做才能上班?
答案 0 :(得分:2)
启动Startup时,请输入以下代码:
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());
}
}
}