我正在尝试在表单控件中进行选择。
<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 没有获取该元素。这是我的 Controller 。
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);
}
}
我该如何上类?
最佳答案
在启动时启动放置以下代码:
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());
}
}
}
关于c# - Mapster Adpat 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39638511/