C# MVC 2 RC 2中的IValueProvider

C# MVC 2 RC 2中的IValueProvider,c#,asp.net-mvc,asp.net-mvc-2,C#,Asp.net Mvc,Asp.net Mvc 2,我一直在使用MVC 2,似乎在某个时候ModelBindingContext.ValueProvider类已被删除并替换为IValueProvider。因此,我在遍历ValueProvider.Keys时遇到了问题。下面是一个示例和我从CodeComplete收到的消息 private void foo(ModelBindingContext myMBC) { var myImportantKeys = myMBC.ValueProvider.Keys.where(keyValue =

我一直在使用MVC 2,似乎在某个时候ModelBindingContext.ValueProvider类已被删除并替换为IValueProvider。因此,我在遍历ValueProvider.Keys时遇到了问题。下面是一个示例和我从CodeComplete收到的消息

private void foo(ModelBindingContext myMBC)
{
     var myImportantKeys = myMBC.ValueProvider.Keys.where(keyValue => keyValue.StartsWith("important", StringComparison.InvariantCulture);
     foreach(var importantKey in myImportantKeys)
     {

     }
}
我得到的消息是System.Web.MVC.IValueProvider不包含密钥的定义。
有人能告诉我如何避开这个问题吗。

天哪,那个代码看起来很熟悉

无法从
IValueProvider
获取键值列表。您必须转到源,例如:

var keys = controllerContext.HttpContext.Request.QueryString.AllKeys.Where(...

有趣的是,你应该回应!。。。但你是个完美的人。N我试图创建一个定制的模型绑定器,它可以获取“重要”的值,但会触发一个例程,对这些值应用一些特殊的编码。这是一个好办法吗?