Вы всегда можете использовать [Bind(Exclude="PropertyName1,PropertyName2,PropertyName3")]
, чтобы исключить некоторые свойства из привязки:
public ActionResult GetDivisionData([Bind(Exclude="PropertyName1,PropertyName2,PropertyName3")]DivisionObj FormData)
Если вам действительно нужно иметь String.Empty в свойствах String, вы можете использовать это связующее:
public class EmptyStringModelBinder : DefaultModelBinder
{
protected override void BindProperty(ControllerContext controllerContext, ModelBindingContext bindingContext, System.ComponentModel.PropertyDescriptor propertyDescriptor)
{
base.BindProperty(controllerContext, bindingContext, propertyDescriptor);
if (propertyDescriptor.PropertyType == typeof(String))
propertyDescriptor.SetValue(bindingContext.Model,propertyDescriptor.GetValue(bindingContext.Model) ?? String.Empty);
}
}
Вам также нужно будет запустить это в global.asax:
ModelBinders.Binders.DefaultBinder = new EmptyStringModelBinder();