我有一个特定数据类型的自定义数据手册,一切都运行完美。但是我想知道是否可以更改绑定上下文并为另一个类型调用BindModel而不是那个绑定的类型。
举个例子:
public class CustomModelBinder : DefaultModelBinder
{
public override object BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext)
{
var otherTypeObject = BindModel(controllerContext, [other-binding-context]);
return wizard;
}
答案 0 :(得分:0)
是的,可以使用您的配置创建另一个绑定上下文:
var otherBindingContext = new ModelBindingContext {
ModelMetadata = ModelMetadataProviders.Current.GetMetadataForType(() => [object_instance], [object_type]),
ModelState = bindingContext.ModelState,
PropertyFilter = bindingContext.PropertyFilter,
ValueProvider = bindingContext.ValueProvider
};
然后使用上面的上下文调用base.BindModel
。