public class CustomModelBinder : IModelBinder { public Task BindModelAsync(ModelBindingContext bindingContext) { var modelName = bindingContext.ModelName; var valueProviderResult = bindingContext.ValueProvider.GetValue(modelName);
if (valueProviderResult == ValueProviderResult.None)
{
return Task.CompletedTask;
}
var value = valueProviderResult.FirstValue;
//处理值并绑定到模型
//...
return Task.CompletedTask;
}
}
public void ConfigureServices(IServiceCollection services) { services.AddControllers(options => { options.ModelBinderProviders.Insert(0, new CustomModelBinderProvider()); }); }
public class CustomModelBinderProvider : IModelBinderProvider { public IModelBinder GetBinder(ModelBinderProviderContext context) { if (context.Metadata.ModelType == typeof(MyCustomModel)) { return new CustomModelBinder(); } return null; } }
上一篇:ASP.NetCoreWebAPI'Thissitecan'tbereached'
下一篇:ASP.NETCoreWebAPI(RESTful)ModelNamingConventionbackedbySQLViews