Вы можете написать связыватель пользовательского типа и зарегистрировать его в обработчике события запуска приложения в global.asax:
protected void Application_Start()
{
ModelBinders.Binders.Add(typeof(XDocument), new YourXDocumentBinder());
}
Конвейер MVC автоматически вызовет связыватель при обнаружении действия с аргументом XDocument..
Реализация связывателя будет выглядеть примерно так:
public class YourXDocumentBinder : DefaultModelBinder
{
public override object BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext)
{
// handle the posted data
}
}