Я нахожусь в процессе создания собственного пользовательского ModelBinder, который наследуется от DefaultModelBinder и вручную связывает свойства типа XElement.
Теперь кажется, что мне нужно переопределить метод 'BindProperty', вот так:
protected override void BindProperty(
ControllerContext controllerContext,
ModelBindingContext bindingContext,
System.ComponentModel.PropertyDescriptor propertyDescriptor)
{
if (propertyDescriptor.PropertyType == typeof(XElement))
{
// code here to take the POST-ed form value and put it in the property as an XElement instance
}
else
base.BindProperty(controllerContext, bindingContext, propertyDescriptor);
}
Какой код я должен использовать для:
А) получить значение свойства из опубликованных значений формы?
B) ввести это значение в свойство?
Я попытался запустить Reflector в классе DefaultModelBinder, чтобы увидеть, как он это делает, но код очень запутанный.
Мне нужен кто-то, кто делал это прежде, чтобы провести меня через это.