Как получить экземпляр FormValueProvider в привязке пользовательской модели в ASP.NET MVC 2 - PullRequest
3 голосов
/ 02 февраля 2010

Я использую MVC 2 RC. У меня есть пользовательский связыватель модели, который используется для перебора значений формы в MVC 1.0, например:

var values = bindingContext.ValueProvider.Where(x => x.Key.StartsWith("prefix"));    
foreach (var value in values) { /* do something */ }

В версии 2 я больше не могу этого делать. По-видимому, есть новые реализации IValueProvider, которые поставляются с ASP.NET MVC 2.0. Я думаю, что мне нужно каким-то образом использовать FormValueProvider в моей привязке к пользовательской модели, но я не знаю, как это сделать.

1 Ответ

1 голос
/ 03 февраля 2010

ValueProvider, кажется, свойство чтения / записи. Вы пробовали это:

var formValueProvider = new FormValueProvider(controllerContext);
bindingContext.ValueProvider = formValueProvider;

Я обсуждал это и по другому вопросу , но, если честно, я не использовал его сам.

Редактировать: Я не уверен, есть ли хорошее решение для этого сценария, но я предполагаю, что вы можете в конечном итоге получить доступ к controllerContext.HttpContext.Request. Я знаю, что это неправильно, но если ваши потребности настолько низки, я подозреваю, что это единственный способ добраться до них.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...