Можно ли передать XDocument в качестве параметра для действия в ASP.NET MVC? - PullRequest
5 голосов
/ 19 мая 2011

Мне интересно, возможно ли написать действие контроллера в ASP.NET MVC, которое принимает в качестве параметра XDocument. Это, конечно, означало бы, что сообщение формы будет отправлять строку XML.

Что-нибудь особенное, что мне нужно сделать, чтобы принять это как параметр?

1 Ответ

6 голосов
/ 19 мая 2011

Вы можете написать связыватель пользовательского типа и зарегистрировать его в обработчике события запуска приложения в 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
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...